Visualizzazione dei risultati da 1 a 5 su 5
  1. #1
    Utente di HTML.it L'avatar di Sonikag
    Registrato dal
    Mar 2004
    Messaggi
    1,954

    (MySql) Left join con count

    Ciao,
    ho una tabella Impianti e una tabella Sezioni relativa agli impianti.
    Un impianto può avere 0 sezioni o più sezioni. Io ho bisogno di sapere quante sezioni ha un impianto.
    Se faccio un:
    codice:
    select * from impianti left join sezioni on impianti.idimpianto = sezioni.idsezione
    Ottengo una cosa tipo:
    Impianto Pippo, sezioneA
    Impianto Pluto, sezione A
    Impanto Pluto, sezione B
    Impianto Paper, NULL
    ---

    Io invece vorrei:

    Impianto Pippo, 1
    Impianto Pluto, 2
    Impianto Paper, 0

    Grazie

  2. #2
    per avere la COUNT() devi usare GROUP BY(). Dimentica quindi la SELECT *, nella SELECT devi specificare le colonne esatte. Non avendo specificato quale db usi (dovresti farlo per regolamento) non posso indirizzarti a nessuna guida

  3. #3
    Utente di HTML.it L'avatar di Sonikag
    Registrato dal
    Mar 2004
    Messaggi
    1,954
    MySql (Me ne sono accorta dopo ma non riesco a modificare il titolo).
    Io ho fatto un
    codice:
    SELECT count(*) FROM `sezioni` group by idimpianto
    Il risultato è corretto, ma chi ha 0 sezioni non lo vedo perchè non faccio il join con gli impianti

  4. #4
    Utente di HTML.it L'avatar di Sonikag
    Registrato dal
    Mar 2004
    Messaggi
    1,954
    RISOLTO!!!
    Mi hai "ispirato" grazie.
    codice:
    SELECT impianto, indirizzo, count(qtainv) FROM impianto LEFT JOIN `sezioni` on impianto.idimpianto = sezioni.idimpianto group by sezioni.idimpianto
    Se facevo un count(*) il cliente a 0 sezioni mi dava 1, quindi ho fatto count di un campo che esiste solo nella tabella sezioni e il risultato è corretto!
    Grazie
    Adesso spero di sopravvivere ai restanti join che devo fare.

  5. #5

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 © 2021 vBulletin Solutions, Inc. All rights reserved.