Ich habe eine Tabelle wie folgt aus:Abfragen für die Aggregation Bedürfnisse in SQL
Id Date Price Item Type
1 2009-09-21 25 1 M
2 2009-08-31 16 2 T
1 2009-09-23 21 1 M
2 2009-09-03 12 3 T
Ich versuche, die Ausgabe von ID und Spalte der Summe Preis mult Artikel für type = ‚M‘ und eine weitere Spalte mit derselben Logik zu empfangen für type = ‚T‘
Nur Art und Weise, wie es für mich zu tun ist, multi-CTE verwenden, aber es ist eine Art von komplexen und großen:
with cte as (
select distinct a.id, a.date
sum(price*a.item) as numm
from table a
where a.type='M'
group by a.id),
crx as (
select cte.id, cte.numm, sum(a.price*a.item) as numm_1 from cte
join table a on a.id=cte.id and a.date=cte.date
where a.type='T'
group by cte.id)
select * from crx
ein bestimmtes Gefühl zu haben, dass es besser gemacht werden kann (zum Beispiel unter Verwendung von Unterabfragen) -Auftrag y ou wie kann es gemacht werden.
p.s.
SQLlite Zeug würde sehr geschätzt werden!
Danke!
Das in SQLite funktioniert nicht. –