Hallo,
wollte euch fragen, ob wer weiß ob man in einer einzigen SQL-Abfrage mehrere COUNT() einbauen kann?
Ja, du musst ggf. für jeden count eine eigene Tabelle abfragen. Ich sende dir mal einen Codeschnippsel:
$q = "
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# KONTAKTWUENSCHE, KONTAKTBUCHUNGEN
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
SELECT
per1.owner_id
#count(DISTINCT kon1.gruppen_id) kon_anz_grp
,COUNT(DISTINCT CONCAT( CAST(kon1.gruppen_id AS CHAR), '_',
CAST(kon1.aussteller_id AS CHAR))) kon_anz_grp
#count(DISTINCT kon2.gruppen_id) kon_gebu_grp
,COUNT(DISTINCT CONCAT( CAST(kon2.gruppen_id AS CHAR), '_',
CAST(kon2.aussteller_id AS CHAR))) kon_gebu_grp
#count(kon3.besucher_id) kon_anz_einzel
,COUNT(DISTINCT CONCAT( CAST(kon3.besucher_id AS CHAR), '_',
CAST(kon3.aussteller_id AS CHAR))) kon_anz_einzel
#count(DISTINCT kon4.besucher_id) kon_gebu_einzel
,COUNT(DISTINCT CONCAT( CAST(kon4.besucher_id AS CHAR), '_',
CAST(kon4.aussteller_id AS CHAR))) kon_gebu_einzel
FROM ".$db[0]['personen']." AS per1
# WUENSCHE VON BESUCHERGRUPPEN
LEFT JOIN ".$db[0]['kontakte']." AS kon1
ON kon1.aussteller_id=per1.id AND ( kon1.prio_1=1 OR kon1.prio_2=1 ) AND kon1.gruppen_id>0
# TERMINE VON BESUCHERGRUPPEN
LEFT JOIN ".$db[0]['kontakte']." AS kon2
ON kon2.id=kon1.id AND kon2.slot_nr>0
# WUENSCHE VON EINZELBESUCHERN
LEFT JOIN ".$db[0]['kontakte']." AS kon3
ON kon3.aussteller_id=per1.id AND ( kon3.prio_1=1 OR kon3.prio_2=1 ) AND kon3.gruppen_id=0
# TERMINE VON EINZELBESUCHERN
LEFT JOIN ".$db[0]['kontakte']." AS kon4
ON kon4.id=kon3.id AND kon4.slot_nr>0
WHERE per1.owner_id=".$owner_id." AND per1.adr_kz=1 AND per1.loe_kz=0
GROUP BY per1.owner_id
";
MfG Kalle