Pagina 1 di 3 1 2 3 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 23

Discussione: left join ostica

  1. #1

    left join ostica

    Salve a tutti,
    sto cercando di effettuare una left join dalla quale risultino i totali di un mese delle fatture delle aziende che sono presenti all'interno della tabella "azienda"...le fatture sono contenute nella tabella fattura...

    dai miei ragionamenti ho estrapolato questa istruzione SQL


    codice:
    SELECT sum( totalefattura ) AS somma, nomeazienda
    FROM azienda
    LEFT JOIN fattura ON azienda.idazienda = fattura.esazienda
    WHERE year( dataemessa ) =2007
    AND month( dataemessa ) =7
    GROUP BY esazienda
    ORDER BY esazienda
    LIMIT 0 , 30
    Dalla tabella risultante figurano soltanto le aziende che hanno avuto le fatture durante il mese 7 del 2007...mentre invece il mio intento è quello che nella tabella risultante appaiano anche le aziende che non hanno fatture in quel periodo

    :master: chi mi aiuta a correggere questo codice?

  2. #2
    Scusa,
    non capisco,
    che senso ha mettere in where condition il mese di luglio ?
    Oppure,
    Perchè la left join la fai sul campo fattura,
    se poi in quel mese non esistono fatture per alcune aziende che invece vuoi
    estrarre?

    Spiegami.
    Mirko Agrati
    WEB : http://mirkoagrati.110mb.com
    RSS : http://feeds.feedburner.com/MirkoAgratiArticoli

  3. #3
    Nel where group order ecc... devi sempre specificare in una join il campo che indichi a quale tabella appartiene tabella.campo


  4. #4
    Originariamente inviato da mirkoagrati
    Scusa,
    non capisco,
    che senso ha mettere in where condition il mese di luglio ?
    Oppure,
    Perchè la left join la fai sul campo fattura,
    se poi in quel mese non esistono fatture per alcune aziende che invece vuoi
    estrarre?

    Spiegami.
    ti ringrazio per la risposta...fattura è una tabella e non un campo...il risultato che voglio raggiungere è una tabella in cui sono elencate tutte le aziende e a fianco la somma di tutte le fatture emesse nel periodo...quindi nel mio caso è importante includere anche le aziende il cui totale fatture è 0

  5. #5
    Di niente,
    Ciao
    Mirko Agrati
    WEB : http://mirkoagrati.110mb.com
    RSS : http://feeds.feedburner.com/MirkoAgratiArticoli

  6. #6
    Originariamente inviato da silverwings
    Nel where group order ecc... devi sempre specificare in una join il campo che indichi a quale tabella appartiene tabella.campo

    ho provato ma purtroppo non dipende da questo...

  7. #7
    LEFT JOIN fattura ON azienda.idazienda = fattura.esazienda
    nella tabella fattura che cos'è esazienda perchè
    ad occhio dovrebbe essere

    LEFT JOIN fattura ON azienda.idazienda = fattura.idazienda
    dove idazienda è la FOREIGN KEY
    naturalmente così dovrebbe essere anche
    x esazienda






    PS
    metterei
    al posto di
    GROUP BY esazienda
    ORDER BY esazienda

    GROUP BY esazienda DESC
    o
    GROUP BY esazienda ASC
    Without faith, nothing is possible. With it, nothing is impossible
    http://ilwebdifabio.it

  8. #8
    es azienda è la chiave esterna della tabella fattura

    ho seguito i tuoi consigli ma purtroppo il risultato è semprelo stesso

  9. #9
    GROUP BY somma ASC
    così dovrebbe funzionare


    Without faith, nothing is possible. With it, nothing is impossible
    http://ilwebdifabio.it

  10. #10
    Originariamente inviato da whisher
    così dovrebbe funzionare


    mi da questo errore:

    #1056 - Can't group on 'somma'

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.