counts aus von einander unabhängigen tabellen

timoly

Grünschnabel
hi zusammen,
ich zerbreche mir gerade den kopf wie ich folgendes problem löse und bin fast am verzweifeln.
ich habe drei tabellen

tabelle:filme
tabelle:Texte (verweiß auf filme mit fid)
tabelle:links (verweiß auf filme mit fid)

zu jedem film können mehrere texte angelegt sein unabhängig davon zu jedem film xbeliebig viele links
in filme liegen drei filme drin zu jedem film existieren 3 links und jeweils zu jedem film ein Text

ich möchte wissen wie viele texte und links pro film existieren

ergebnis sollte so aussehen
film , clinks, ctexte
film1, 3, 1
film2, 3, 1
film3, 3, 1

mein bisheriger ansatz:
SELECT
f.*,
count(l.Fid) as clinks,
count(tx.Fid)as ctexte
FROM
film as f
LEFT JOIN (text as tx, link as l)
ON (f.Fid = tx.Fid and f.Fid = l.Fid)
GROUP BY
f.Fid

jetzt bin ich mir gar nicht mehr sicher ob ich das überhaupt mit group by lösen kann oder ob ich subselects nehmen muss
ich sage noch dazu dass ich mysql her nehme


danke schon mal im voraus
lg timo
 
ok jetzt wars doch ganz einfach, bin selber drauf gekommen. hätte mich nicht so an group by fest beißen sollen. mit sub selects wars denkbar einfach

SELECT f . * , (

SELECT count( t.FORid )
FROM textt
WHERE t.FORid = f.Fid
AND t.pindex =0
) AS ctext, (

SELECT count( l.FORid )
FROM link l
WHERE l.FORid = f.Fid
AND l.pindex =0
) AS clink
FROM film f
 

Neue Beiträge

Zurück