Visualizzazione dei risultati da 1 a 3 su 3
  1. #1

    [MySql] Problema con query Left Join

    salve ragazzi ho un problema con una query in MySql.

    Ho 3 tabelle.

    Articoli
    ArticoliDett
    DettOrdini

    la query è la seguente

    SELECT ar.nomearticolo,d.codiceart, d.quantita FROM articolidett ar JOIN articoli a ON ar.codarticolo=a.codarticolo LEFT JOIN dettordini d ON a.codicebarre=d.codiceart WHERE CODIORDINE=44 order by ar.nomearticolo;

    In pratica la quantità rappresenta la quantità dell articolo già registrato nel ordine io ho bisogno di avere questo output

    CodiceBarre || Nome Articolo || Quantita

    Dove il campo quantità deve essere popolato solo per quegli articoli che è stato registrata la quantitò nella tabella dettordini.

    Quindi è come se io voglio tuti gli articoli presenti nella tabelle articolidett + per gli articoli memorizzati nella tabella dettordini le quantità.

    Se nella query che ho postato sopra, elimino la clausola where funziona quando però metto where codiordine=44 visualizzo solo gli articoli memorizzati nella tabella dettordini.

    Come posso risolvere?

  2. #2
    WHERE CODIORDINE=44

    in quale tabella si trova? Tieni presente che left join da tutti i risultati della tabella di sx e NULL se non trova corrispondenze con la tabella di dx

    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

  3. #3
    allora codordine si trova nella tabelle dettordine
    cmq ho risolto il problema in questo modo

    Articoli a LEFT JOINT DettOrdini d ON a.c=d.c and (codordine=44)

    in questo modo ho il risultato corretto in pratica ho spostato il where dopo la join in questo modo non ho problemi

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.