Restituendo la somma degli elementi a seconda del tipo
-
09-06-2019 - |
Domanda
Ho un campo che devo sommare diciamo che gli elementi nominati, tuttavia, quel campo può far parte del gruppo A o B alla fine, ho bisogno di avere tutti gli elementi sommati per il gruppo A e il gruppo B
quando dico raggruppato intendo che c'è un LEFT OUTER JOIN in un'altra tabella la tabella precedente ha un tipo per gli elementi e a quella che si unisce ha un gruppo assegnato per questo tipo di elemento
Scusate ragazzi, sono un po' nuovo in SQL, proverò quello che mi avete dato e vi risponderò
Ok, sento che ci stiamo avvicinando, ma non ancora allain, riesco a separarli, ma il problema è che entrambi i gruppi devono sommarsi sulla stessa riga, il che è difficile perché sono coinvolti anche diversi LEFT OUTER JOIN
Sembra che anche quello di Tyler potrebbe funzionare, quindi sto cercando di risolverlo molto velocemente
Quella di Alain sembra essere la strada da percorrere, ma devo modificarla ancora un po'
Soluzione
Forse non capisco la complessità di quello che chiedi, ma...non dovrebbe andare bene?
SELECT groupname, SUM(value)
FROM items
WHERE groupname IN ('a', 'b')
GROUP BY groupname
E se non ti interessa a quale a o b appartiene l'oggetto, allora questo andrà bene:
SELECT SUM(value)
FROM items
WHERE groupname IN ('a', 'b')
Altri suggerimenti
Vuoi qualcosa del genere
SELECT column,SUM( column ) FROM table GROUP BY column
È questo (la risposta di Tyler) il significato della domanda, o è semplicemente questo;
SELECT sum(item), groupingField FROM someTable GROUP BY groupingField
o anche:
SELECT count(*), item FROM someTable GROUP BY item
che produrrà risultati come questo:
sum(item) | groupingField
-------------+-----------------------
71 | A
82 | B
Interlocutore, forse potrebbe chiarire cosa intendeva o se sto semplificando eccessivamente?
Prova questo:
SELECT B.[Group], COUNT(*) AS GroupCount
FROM Table1 A
LEFT JOIN Table2 B ON B.ItemType=A.ItemType
GROUP BY B.[Group]