Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi sql abfrage (https://www.delphipraxis.net/110470-sql-abfrage.html)

Delphi-Phil 18. Mär 2008 14:41

Datenbank: MySql • Zugriff über: ADO

sql abfrage
 
Hallo,


ich habe folgende SQL Abfrage:
SQL-Code:
SELECT vorname, nachname, fach
FROM schüler s
INNER JOIN schuelerfaecher sf
  ON s.id = sf.id_schueler
LEFT JOIN fächer f
  ON sf.id_fach = f.id
WHERE NOT EXISTS (SELECT *
                  FROM zeugnis
                  WHERE id_schueler = s.id
                    AND id_fach = sf.id_fach)
Die Abfrage funktioniert auch super. Jetzt habe ich aber eine Sache die ich noch zufügügen muss, es soll nur bei den Schülern aus einer bestimmten Klasse gesucht werden. Die Schüler sind in der Tabelle "SchülerKlasse" (ID, IDSchüler, IDKlasse) verbunden. In der Tabelle SchülerFächer ist auch das Feld KlasenID vorhanden, dort wird die Klasse gespeichert in der der Schüler das Fach hat.


Gruß Phil

DeddyH 18. Mär 2008 14:50

Re: sql abfrage
 
Ohne Gewähr:
SQL-Code:
SELECT vorname, nachname, fach
FROM schüler s
INNER JOIN schuelerklasse sk
  ON sk.id_schueler = s.id
INNER JOIN schuelerfaecher sf
  ON sf.id_klasse = sk.id_klasse
LEFT JOIN fächer f
  ON sf.id_fach = f.id
WHERE sk.id = :gesuchte_klasse
AND NOT EXISTS (SELECT *
                  FROM zeugnis
                  WHERE id_schueler = s.id
                    AND id_fach = sf.id_fach)

Delphi-Phil 18. Mär 2008 14:54

Re: sql abfrage
 
danke,

jetzt habe ich eins vergessen, könntest du es so ändern das er für die gesammte abfrage nur die schüler nimmt die aus einer bestimmten sind. Jetzt zum testen vllt mal die Klasse mit der ID 1.


Gruß Phil

DeddyH 18. Mär 2008 14:57

Re: sql abfrage
 
Ersetz doch einfach :gesuchte_klasse durch 1 ;)

Delphi-Phil 18. Mär 2008 15:09

Re: sql abfrage
 
Liste der Anhänge anzeigen (Anzahl: 2)
es kommen zu viele einträge raus.

ich habe zwei bilder angehangen, einmal falsch einmal richtig. das richtige ist ohne den klassenzusatz im sql code gemacht.


gruß Phil

Delphi-Phil 18. Mär 2008 15:23

Re: sql abfrage
 
hat denn keiner mehr eine idee???


Gruß Phil

DeddyH 18. Mär 2008 15:25

Re: sql abfrage
 
Wenn Du noch 1 1/2 Stunden warten kannst, schau ich zu Hause nochmal drüber.

Delphi-Phil 18. Mär 2008 15:27

Re: sql abfrage
 
okay das wäre sehr lieb.

Vielen Dank, bis nachher...


Gruß Phil

DeddyH 18. Mär 2008 16:53

Re: sql abfrage
 
Hmm... wenn es so auch nicht funktioniert, muss ich mir mal eine Zeichnung machen.
SQL-Code:
SELECT vorname, nachname, fach
FROM schüler s
INNER JOIN schuelerklasse sk
  ON sk.id_schueler = s.id
INNER JOIN schuelerfaecher sf
  ON sf.id_klasse = sk.id_klasse
  AND sf.id_schueler = s.id
LEFT JOIN fächer f
  ON sf.id_fach = f.id
WHERE sk.id = :gesuchte_klasse
AND NOT EXISTS (SELECT *
                  FROM zeugnis
                  WHERE id_schueler = s.id
                    AND id_fach = sf.id_fach)

Delphi-Phil 18. Mär 2008 16:56

Re: sql abfrage
 
danke
ich teste es gleich, bin grade unterwes...bis heute abend!

Gruß Phil


Alle Zeitangaben in WEZ +1. Es ist jetzt 14:52 Uhr.
Seite 1 von 2  1 2      

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