Registriert seit: 26. Aug 2004
Ort: Nebel auf Amrum
3.154 Beiträge
Delphi 7 Enterprise
|
Re: Performance verbessern
10. Dez 2006, 19:55
So, hier mal ein neuer Versuch...
SQL-Code:
SELECT k.name AS kategorie, NULL AS unter, NULL AS rezept, ka.anzahl, '1' typ
FROM kategorie k
LEFT JOIN (SELECT kategorie, COUNT(DISTINCT name) anzahl
FROM rezepte
GROUP BY kategorie, unterkat) ka
ON k.name = ka.kategorie
UNION
SELECT k.name AS kategorie, uk.unter, NULL AS rezept, ka.anzahl, '2' typ
FROM kategorie k
INNER JOIN unterkat uk
ON k.name = uk.kat
LEFT JOIN (SELECT kategorie, unterkat, COUNT(*) anzahl
FROM rezepte
GROUP BY kategorie, unterkat) ka
ON k.name = ka.kategorie
AND uk.unter = ka.unterkat
UNION
SELECT kategorie, unterkat, r.name, NULL AS anzahl, '3' typ
FROM rezepte r
ORDER BY kategorie, unter, rezept, typ
Gruss
Thorsten
|
|
Zitat
|