Gibt die Summe der Elemente zurück, je nachdem, um welchen Typ es sich handelt

StackOverflow https://stackoverflow.com/questions/30563

  •  09-06-2019
  •  | 
  •  

Frage

Ich habe ein Feld, das ich summieren muss, sagen wir namentlich genannten Elementen

Wenn ich „gruppiert“ sage, meine ich, dass es einen LEFT OUTER JOIN zu einer anderen Tabelle gibt. Die vorherige Tabelle hat einen Typ für die Elemente und die Tabelle, die verknüpft wird, hat eine für diesen Elementtyp zugewiesene Gruppe

Tut mir leid, Leute, ich bin ein bisschen neu in SQL. Ich werde ausprobieren, was Sie mir gegeben haben, und mich dann bei Ihnen melden

Ok, ich habe das Gefühl, dass wir uns nähern, nur noch nicht alle. Ich schaffe es, sie zu trennen, aber das Problem besteht darin, dass beide Gruppen in derselben Zeile zusammengefasst werden müssen, was schwierig ist, weil ich auch mehrere LEFT OUTER JOINs involviert habe

Bei Tyler sieht es so aus, als ob es auch funktionieren könnte, also versuche ich, das ganz schnell herauszufinden

Alains scheint der richtige Weg zu sein, aber ich muss noch ein bisschen daran feilen

War es hilfreich?

Lösung

Vielleicht verstehe ich die Komplexität Ihrer Frage nicht, aber ...sollte das nicht gehen?

SELECT groupname, SUM(value)
FROM items
WHERE groupname IN ('a', 'b')
GROUP BY groupname

Und wenn es Ihnen egal ist, zu welchem ​​von a oder b der Artikel gehört, reicht Folgendes aus:

SELECT SUM(value)
FROM items
WHERE groupname IN ('a', 'b')

Andere Tipps

Du willst so etwas wie

SELECT column,SUM( column ) FROM table GROUP BY column

Ist das (Tylers Antwort) das, was die Frage meinte, oder ist es einfach das;

SELECT sum(item), groupingField FROM someTable GROUP BY groupingField

oder auch:

SELECT count(*), item FROM someTable GROUP BY item

was zu Ergebnissen wie diesem führen wird:

sum(item)    |     groupingField
-------------+-----------------------
 71          |          A
 82          |          B

Fragender, könnten Sie vielleicht klarstellen, was Sie meinten oder ob ich es zu stark vereinfache?

Versuche dies:

SELECT B.[Group], COUNT(*) AS GroupCount
FROM Table1 A
LEFT JOIN Table2 B ON B.ItemType=A.ItemType
GROUP BY B.[Group]
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top