AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi 2 SQL-Abfragen kombinieren
Thema durchsuchen
Ansicht
Themen-Optionen

2 SQL-Abfragen kombinieren

Ein Thema von scrat1979 · begonnen am 28. Jul 2008 · letzter Beitrag vom 3. Aug 2008
Antwort Antwort
Seite 2 von 2     12   
omata

Registriert seit: 26. Aug 2004
Ort: Nebel auf Amrum
3.154 Beiträge
 
Delphi 7 Enterprise
 
#11

Re: 2 SQL-Abfragen kombinieren

  Alt 30. Jul 2008, 12:15
Ups, da habe ich was übersehen...
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
           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
oder meinst du das vielleicht so...
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
  Mit Zitat antworten Zitat
Benutzerbild von scrat1979
scrat1979

Registriert seit: 12. Jan 2007
Ort: Sulzbach a.d. Murr
1.029 Beiträge
 
Delphi 10.4 Sydney
 
#12

Re: 2 SQL-Abfragen kombinieren

  Alt 30. Jul 2008, 18:04
@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
Michael Kübler
  Mit Zitat antworten Zitat
EugenB

Registriert seit: 7. Dez 2006
98 Beiträge
 
Lazarus
 
#13

Re: 2 SQL-Abfragen kombinieren

  Alt 30. Jul 2008, 18:59
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;
  Mit Zitat antworten Zitat
omata

Registriert seit: 26. Aug 2004
Ort: Nebel auf Amrum
3.154 Beiträge
 
Delphi 7 Enterprise
 
#14

Re: 2 SQL-Abfragen kombinieren

  Alt 30. Jul 2008, 23:19
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
  Mit Zitat antworten Zitat
Benutzerbild von scrat1979
scrat1979

Registriert seit: 12. Jan 2007
Ort: Sulzbach a.d. Murr
1.029 Beiträge
 
Delphi 10.4 Sydney
 
#15

Re: 2 SQL-Abfragen kombinieren

  Alt 3. Aug 2008, 22:14
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
Michael Kübler
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 2     12   


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 20:18 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz