Hallo zusammen,
ich habe 2 Tabellen:
Tabelle "kats"
katid
bezeichnung
Tabelle "articles"
articleid
inhalt
online
aktiv
In der Tabelle "kats" stehen viele Kategorien. In der Tabelle stehen Artikel die entweder bei aktiv eine 0 (inaktiv) oder eine 1 (aktiv) UND "online" gleich einem Datum (Terminierung).
Jetzt möchte ich mich mit einer SQL alle Kategorien mit der jeweiligen Anzahl an aktiven (also aktiv=1 and online <= CURDATE()) und inaktiven (also aktiv=0 or aktiv = 1 and online > curdate()) Artikel herausbekommen.
Ich habs schon mit einer SQL und 3 JOINS versucht, aber hat nich ganz hingehauen:
Irgendwie kommen da bei einer Kategorie 220 bei aktive und inaktive raus, obwohl es insgesamt nur 32 Artikel gibt. Davon sind gerade mal 22 aktiv.
Bei einer anderen Kategorie sind es bei ingesamt 24 Artikel jeweils 143 bei aktive und inaktive, obwohl nur 11 Artikel aktiv sind.
Weiss jemand woran das liegen könnte?
Sonnige Grüße..
ich habe 2 Tabellen:
Tabelle "kats"
katid
bezeichnung
Tabelle "articles"
articleid
inhalt
online
aktiv
In der Tabelle "kats" stehen viele Kategorien. In der Tabelle stehen Artikel die entweder bei aktiv eine 0 (inaktiv) oder eine 1 (aktiv) UND "online" gleich einem Datum (Terminierung).
Jetzt möchte ich mich mit einer SQL alle Kategorien mit der jeweiligen Anzahl an aktiven (also aktiv=1 and online <= CURDATE()) und inaktiven (also aktiv=0 or aktiv = 1 and online > curdate()) Artikel herausbekommen.
Ich habs schon mit einer SQL und 3 JOINS versucht, aber hat nich ganz hingehauen:
PHP-Code:
SELECT
count( b.articelid) AS aktive,
count( c.articelid) AS inaktive
FROM kats AS a
LEFT JOIN articles AS b
ON b.aktiv =1 AND b.online <= curdate() AND a.katid = b.katid
LEFT JOIN articles AS c on c.aktiv = '' AND a.katid = c.katid OR c.online > curdate() AND c.aktiv = 1 AND c.katid = a.katid
GROUP BY a.katid
Bei einer anderen Kategorie sind es bei ingesamt 24 Artikel jeweils 143 bei aktive und inaktive, obwohl nur 11 Artikel aktiv sind.
Weiss jemand woran das liegen könnte?
Sonnige Grüße..
Kommentar