Delphi-PRAXiS
Seite 1 von 3  1 23      

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

Delphi-Phil 17. Mär 2008 21:10

Datenbank: MySql • Zugriff über: ADO

sql abfrage - tabellen vergleichen
 
Hallo Delphianer,

Ich habe folgendes Problem:

ich benötige eine SQL Abfrage die mir aus einer Datenbank ausgibt, welche Zuegnisse von einem Schüler noch nicht geschrieben worden sind.

Es gibt folgende Tabellen:

Schüler - ID, Vorname, Nachname, usw, usw

Klassen - ID, Klassenname

SchülerKlassen - ID, IDSchüler, IDKlasse

SchülerFächer - ID, IDSchüler, IDKlasse, IDFach

Zeugnisse - ID, IDSchüler, IDKlasse, IDFach, Note, Zeugnistext


Reicht das an Infos?? Ich bin für alle Hilfen dankbar...


Gruß Phil

omata 17. Mär 2008 21:48

Re: sql abfrage - tabellen vergleichen
 
SQL-Code:
SELECT *
FROM schüler s
INNER JOIN schülerfächer sf
  ON s.id = sf.idschüler
WHERE NOT EXISTS (SELECT *
                  FROM zeugnisse
                  WHERE idschüler = s.id
                    AND idfach = sf.id)
Gruss
Thorsten

Delphi-Phil 17. Mär 2008 21:50

Re: sql abfrage - tabellen vergleichen
 
vielen dank, ich werde es sofort testen!!


Ich melde mich dann ob es funst...danke!


Gruß Phil

Delphi-Phil 17. Mär 2008 22:11

Re: sql abfrage - tabellen vergleichen
 
hallo ich habe die abfrage ausprobiert...sie funst!

jetzt muss man irgendwie rausfinden ob die daten die zurückkommen stimmen... nur wie??


Gruß Phil

Delphi-Phil 17. Mär 2008 22:22

Re: sql abfrage - tabellen vergleichen
 
ich habe meine datenbank jetzt mal mit nur 3 datensätzen getestet und siehe da es funst. vielen dank erstmal!


Jetzt muss am ende aber folgendes raus kommen: der name von dem schüler und das fach wo das zeugnis fehlt.

Jetzt kommt ja nur die Fach ID raus!


gruß Phil

omata 17. Mär 2008 22:24

Re: sql abfrage - tabellen vergleichen
 
Was sollte am Ergebnis nicht stimmen? Ich verstehe das Problem nicht.
Deshalb benutzt man doch eine Datenbank, da macht man ein paar Stichproben und wenn das ok ist dann sollte das stimmen.
Außerdem ist diese Abfrage nun wirklich nicht kompliziert, das kann man doch leicht überblicken.

Edit: Wo sind die existierenden Fächer gespeichert?

Verwunderte Grüsse
Thorsten

Delphi-Phil 17. Mär 2008 22:27

Re: sql abfrage - tabellen vergleichen
 
also erstmal sry. das was raus kommt stimmt natürlich, ich habe mich ein bissel doof ausgedrückt.

In dem Datensatz der jetzt raus kommt, steht der name von dem schüler und die id von dem fach zu dem das zeugnis fehlt. Es müsste nur statt der id zu dem fach noch der fachname raus kommen.


gruß Phil

omata 17. Mär 2008 22:28

Re: sql abfrage - tabellen vergleichen
 
Wo sind die existierenden Fächer gespeichert?

Delphi-Phil 17. Mär 2008 22:29

Re: sql abfrage - tabellen vergleichen
 
in der tabelle fächer

omata 17. Mär 2008 22:32

Re: sql abfrage - tabellen vergleichen
 
Das hast du oben nicht definiert!

Vielleicht so...
SQL-Code:
SELECT vorname, nachname, fachname
FROM schüler s
INNER JOIN schülerfächer sf
  ON s.id = sf.idschüler
INNER JOIN fächer f
  ON sf.idfach = f.idfach
WHERE NOT EXISTS (SELECT *
                  FROM zeugnisse
                  WHERE idschüler = s.id
                    AND idfach = sf.id)


Alle Zeitangaben in WEZ +1. Es ist jetzt 16:05 Uhr.
Seite 1 von 3  1 23      

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