Interrogazione SUM

  • Creatore Discussione Creatore Discussione pup3770
  • Data di inizio Data di inizio

pup3770

Utente Attivo
30 Mag 2012
122
0
16
Ciao Ragazzi,
sono nuovo del forum e diciamo nuovo di sql, dico diciamo perché l'ho studiato circa 2 anni fa e adesso sto riprendendo l'argomento.

Ho due tabelle:

Codice:
dipendenti([U]id_dipendente[/U], nome, cognome, sesso, telefono, mansione)
ordini([U]id_ordine[/U], id_dipendente, tipo_articoli, quantita)

Adesso desidero prima capire in sql e poi implementare in php come mostrare una schermata in cui viene visualizzato il totale dato dalla somma delle quantita degli ordini fatto da un dipendente e il suo rispettivo nome e cognome.

Spero di essere stato comprensibile ma provo con un esempio:
[table="width: 500, class: grid"]
[tr]
[td]id_dipendente[/td]
[td]nome[/td]
[td]cognome[/td]
[td]sesso[/td]
[td]telefono[/td]
[td]mansione[/td]
[/tr]
[tr]
[td]3[/td]
[td]ale[/td]
[td]ros[/td]
[td]m[/td]
[td]340[/td]
[td]vendita[/td]
[/tr]
[tr]
[td]7[/td]
[td]mar[/td]
[td]cat[/td]
[td]f[/td]
[td]340[/td]
[td]studente[/td]
[/tr]
[tr]
[td]25[/td]
[td]gio[/td]
[td]man[/td]
[td]m[/td]
[td]347[/td]
[td]cassa[/td]
[/tr]
[/table]

[table="width: 500, class: grid"]
[tr]
[td]id_ordine[/td]
[td]id_dipendente[/td]
[td]tipo_articoli[/td]
[td]quantita[/td]
[/tr]
[tr]
[td]378[/td]
[td]3[/td]
[td]tvc[/td]
[td]1000[/td]
[/tr]
[tr]
[td]379[/td]
[td]3[/td]
[td]tvc[/td]
[td]200[/td]
[/tr]
[tr]
[td]382[/td]
[td]25[/td]
[td]cancelleria[/td]
[td]10000[/td]
[/tr]
[/table]

A questo punto io vorrei creare una tabella in cui ci sia:
[table="width: 500, class: grid"]
[tr]
[td]id_dipendente[/td]
[td]nome[/td]
[td]cognome[/td]
[td]quantita[/td]
[/tr]
[tr]
[td]3[/td]
[td]ale[/td]
[td]ros[/td]
[td]1200[/td]
[/tr]
[tr]
[td]25[/td]
[td]gio[/td]
[td]man[/td]
[td]10000[/td]
[/tr]
[/table]

Ho provato a creare un'espressione SQL:
Codice:
SELECT o.id_dipendente, d.nome, d.cognome, SUM( quantita ) 
FROM ordini o, dipendenti d
WHERE o.id_dipendente = d.id_dipendente

però mi stampa:
[table="width: 500, class: grid"]
[tr]
[td]id_dipendente[/td]
[td]nome[/td]
[td]cognome[/td]
[td]quantita[/td]
[/tr]
[tr]
[td]3[/td]
[td]ale[/td]
[td]ros[/td]
[td]11200[/td]
[/tr]
[/table]

a primo impatto sembra corretta ma sbaglio in qualcosa perché così facendo mi somma tutte le
Codice:
quantita
della colonna quando invece io voglio raggruppare solo in base all'id_dipendente.

In cosa sbaglio?
 
Risolto

Bastava utilizzare la clausola GROUP BY

Quindi ho utilizzato la seguente query:

Codice:
SELECT o.id_dipendente, d.nome, d.cognome, SUM( quantita ) 
FROM ordini o, dipendenti d
WHERE o.id_dipendente = d.id_dipendente
GROUP BY o.id_dipendente

Adesso non mi resta altro che implementarla in PHP.

Vi aggiorno. Se avete la soluzione ditemi pure
 

Discussioni simili