Sql-Abfrage
-
Hallo,
wäre nett, wenn mir jemand bei folgender Abfrage helfen könnte:
Ich hab eine Tabelle:
t1 t2 ----- a 1 a 2 b 2 a 1 b 1 ....
Ich brauch jetzt eine Abfrage, die mir t1 groupiert und mir noch Spalten liefert,
die mir die Anzahl von 1en und 2en in t2 zeigt.Also als Result hätte ich hier gerne also sowas:
t1 #t1 #t1_1 #t1_2 -------------------- a 3 2 1 b 2 1 1
Ich hoffe das ist verständlich und mir kann jemand helfen.
Gruß,
Jockelx
-
wenn es nur bei 1en und 2en bleibt, dann geht es so:
select t1, count(*) as ct1, (select count(*) from test b where b.t1 = a.t1 and t2 = '1') as ct1_1, (select count(*) from test b where b.t1 = a.t1 and t2 = '2') as ct1_2 from test a group by t1 order by t1;
bei weiteren spalten muss man dann entsprechende (select count(*) from test b where b.t1 = a.t1 and t2 = '2') einbauen.
jenz
-
Ja, danke Jenz, auf die Lösung bin ich nach langem rumprobieren auch gekommen.
Bin ich ja froh, dass das scheinbar nicht unnötig kompliziert oder unperformant ist.Gruß,
Jockel