Tobi: mysql - komplitzierte abfrage mit count

Beitrag lesen

MySQL-Client-Version: 4.1.22

hallo, hab da ein problem wo ich nicht weiterkomme. es geht um ein postkarten lexikon.

hier ist die abfrage für eine liste wo alle bundesländer mit zugehöreingen karten als anzahl ausgegeben werden sollen.
problem ist das die postkarten (tabelle card) 1 bis n-verknüpfungen mit der tabelle dak haben können.
diese wiederum haben eine geradlinige verknüpfung mit der stadteil (city)- stadt (stadt)- region (region)- land (c) ...

bsp.: eine karte aus Dresden hat die semperoper und die hofkirche als motiv. diese motive sind jeweils eine verknüpfung mit der tabelle dak, diese haben wiederum alle eine verknüpfung mit dem dem stadtteil (city)

heißt karte 123 hat 2 verschiedene motive (dak) und alle sind mit der selben stadt verknüpft (stadt)

wenn ich jetzt so die karten zähle dann bekomm ich aber falsche werte.
bei 2 motiven die mit der karte verknüpft sind hab ich dann auch 2 ergebnisse obwohl ich nur eines haben möchte.
bei 5 karten mit 2-3 motiven, gibt es dann in der land/region und stadtliste immer je karte 1-2 ergebnisse zuviel angezeigt.
was tun?

SELECT
   count(card.id) AS card_anz,
   region.id AS regionid,
   region.region_de,
   region.region_org,
   c.id,
   c.$lang_sql_c
                FROM ka_c c
   LEFT JOIN ka_region region ON c.id = region.c_id
   LEFT JOIN ka_stadt stadt ON region.id = stadt.region_id
   LEFT JOIN ka_city city ON stadt.id = city.stadt_id
   LEFT JOIN ka_dkat_v_stadt dstadt ON city.id = dstadt.cityid
   LEFT JOIN ka_dkat_v_ak dak ON dstadt.dkatid = dak.dkatid
   Left JOIN ka_card card ON dak.akid = card.id
               WHERE c.id = '$suche'
                GROUP BY region.id
                ORDER BY region.region_de ASC