Hi,
ich habe folgendes Problem:
ich möchte in mehreren Tabellen einen COUNT durchführen. Mit getrennten Abfragen klappt das auch gut, allerdings ist das wirklich ziemlich langsam (ich muss recht viele Abfragen in einer Schleife durchführen). Deswegen wollte ich das Zählen der Einträge auf eine Abfrage einschränken. Ich komme allerdings nicht wirklich weiter.
Also:
2 Tabellen, nennen wir sie der Einfachheit halber tabelle1 und tabelle2.
Aus tabelle1 benötige ich die Anzahl der Einträge bei denen die reporter_id = '$reporter_id' ist.
Aus tabelle2 benötige ich die Anzahl der Einträge bei denen die reporter_id = '$reporter_id' ist und bei denen active = '1' ist.
Versucht habe ich verschiedene Dinge, funktioniert hat bisher nichts.
SELECT
COUNT(t1.id)
AS 'count1',
COUNT(t2.id)
AS 'count2'
FROM
tabelle1 AS t1,
tabelle2 as t2
WHERE
t1.reporter_id = '".$reporter_id."' OR
t2.reporter_id = '".$reporter_id."' AND
t2.active = '1'
oder
SELECT
COUNT(t1.id)
FROM tabelle1 AS t1
LEFT JOIN tabelle2 AS t2
ON t1.reporter_id = '".$reporter_id."'
WHERE t2.reporter_id = '".$reporter_id."' AND
t2.active = '1'
Aber ich schätze ich hab da was ziemlich falsch verstanden, hm?
Kann mir jemand auf den rechten Weg helfen?
Vielen Dank schonmal,
small-step