SQL über zwei Tabellen mit Count
Paeonia
- datenbank
Hallo zusammen,
ich suche die Syntax zu folgender SQL-Query: Suche mir alle Felder aus Tabelle1 und die Anzahl Zeilen aus Tabelle2 , bei denen Tabelle1.id=Tabelle2.fid
Tabelle1:
id ; txt;
100;bla;
102;xyz;
103;rrr;
Tabelle2:
id; bool;fid = fremdschlüssel zu id.Tabelle1
4;true;100;
5;false;100;
6;true;102;
Das Statement "SELECT DISTINCT b.id, txt, c.fid FROM Tabelle1
AS b LEFT JOIN Tabelle2 AS c ON b.id = c.fid;"
liefert mir
id;txt;fid;
100;bla;4;
102;xyz;6;
103;rrr;NULL;
Das reicht aber noch nicht ganz. Statt des ersten Feldwertes für fid möchte ich die Anzahl der gültigen Zeilen, also folgendes Ergebnis erreichen:
id;txt;count_fid;
100;bla;2;
102;xyz;1;
103;rrr;0;
Wie geht das bei einer MySQL-Datenbank?
Danke für Eure Hilfe sagt Paeonia
Hallo Paeonia,
versuch es mal so:
select a.id,txt,count(a.id) from tabelle1 a,tabelle2 b where a.id=fid group by a.id,txt
Marwags
HI,
select a.id,txt,count(a.id) from tabelle1 a,tabelle2 b where a.id=fid group by a.id,txt
select a.id,txt,count(b.fid) from tabelle1 a,tabelle2 b where a.id=b.fid group by b.fid
So tut's genau was ich brauche. Warum bin ich auf diese einfache Lösung nicht selbst gekommen?
Vielen Dank
Paeonia