![]() |
Re: 2 SQL-Abfragen kombinieren
Ups, da habe ich was übersehen...
SQL-Code:
oder meinst du das vielleicht so...
SELECT c.id, c.itemname, a.alevel, a.itemname,
s.anzahl AS Anzahl1, p.anzahl As Anzahl2 FROM tblcats c INNER JOIN tblaccesslevels a ON c.alevel = a.alevel LEFT JOIN (SELECT parentcat, COUNT(*) AS anzahl FROM tblsubcats WHERE alevel <= 1 GROUP BY parentcat) s ON c.id = s.parentcat LEFT JOIN (SELECT parentsubcat, COUNT(*) AS anzahl FROM tblpics GROUP BY parentsubcat) p ON s.id = p.parentsubcat
SQL-Code:
SELECT c.id, c.itemname, a.alevel, a.itemname,
s.anzahl AS Anzahl1, p.anzahl As Anzahl2 FROM tblcats c INNER JOIN tblaccesslevels a ON c.alevel = a.alevel LEFT JOIN (SELECT parentcat, COUNT(*) AS anzahl FROM tblsubcats GROUP BY parentcat) s ON c.id = s.parentcat LEFT JOIN (SELECT parentsubcat, COUNT(*) AS anzahl FROM tblpics GROUP BY parentsubcat) p ON s.id = p.parentsubcat WHERE c.alevel <= 1 |
Re: 2 SQL-Abfragen kombinieren
@Omata: Wie gesagt, sieht sehr vielversprechend aus :-) Leider erhalte ich die Fehlermeldung
--------------------------- Error --------------------------- SQL Error: Unknown column 's.id' in 'on clause' --------------------------- OK --------------------------- Ein anpassen ist mir bislang leider nicht gelungen, ich bleibe aber dran :-) @nahpets: Das ist meiner Lösung sehr ähnlich, ich arbeite nach dem gleichen Prinzip (Spalten mit 0 vorbelegen). Sollte die Lösung von omata jedoch noch anzupassen sein, wäre die Abfrage für mich um einiges leichter zu verstehen und zu pflegen. Mal sehen, ob EugenB noch was zusammengebastelt hat *g* Liebe Grüße, SCRaT |
Re: 2 SQL-Abfragen kombinieren
ist nicht die beste Lösung aber zu mindest bekomme ich die richtigen Ergebnisse ^^
SQL-Code:
SELECT c.id, c.itemname, a.alevel,
a.itemname, count(s.id) As Anzahl1, ( SELECT count(p2.id) FROM tblcats c2 LEFT JOIN tblsubcats s2 ON c2.id = s2.parentcat LEFT JOIN tblpics p2 ON p2.parentsubcat = s2.id INNER JOIN tblaccesslevels a2 ON c2.alevel = a2.alevel WHERE s2.alevel <= 1 AND c2.id = c.id GROUP BY c2.itemname ) As Anzahl2 FROM tblcats c LEFT JOIN tblsubcats s ON c.id = s.parentcat INNER JOIN tblaccesslevels a ON c.alevel = a.alevel WHERE s.alevel <= 1 GROUP BY c.itemname; |
Re: 2 SQL-Abfragen kombinieren
Neuer Versuch...
SQL-Code:
SELECT c.id, c.itemname, a.alevel, a.itemname, Anzahl1, Anzahl2
FROM tblcats c INNER JOIN tblaccesslevels a ON c.alevel = a.alevel LEFT JOIN (SELECT parentcat, COUNT(*) AS anzahl1 FROM tblsubcats WHERE alevel <= 1 GROUP BY parentcat) s ON c.id = s.parentcat LEFT JOIN (SELECT parentcat, COUNT(*) AS anzahl2 FROM tblsubcats s INNER JOIN tblpics p ON s.id = p.parentsubcat WHERE alevel <= 1 GROUP BY parentcat) p ON c.id = p.parentcat |
Re: 2 SQL-Abfragen kombinieren
Perfekt, vielen Dank!!!
Ich habe nun eine Kombination aus beiden Lösungen verwendet, nun habe ich es hinbekommen!! Ihr habt mir - wie schon so oft - sehr weitergeholfen!!! Vielen Dank dafür! SCRaT |
Alle Zeitangaben in WEZ +1. Es ist jetzt 03:34 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz