AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi sql abfrage - tabellen vergleichen
Thema durchsuchen
Ansicht
Themen-Optionen

sql abfrage - tabellen vergleichen

Ein Thema von Delphi-Phil · begonnen am 17. Mär 2008 · letzter Beitrag vom 18. Mär 2008
Antwort Antwort
Seite 2 von 3     12 3      
Delphi-Phil

Registriert seit: 22. Jun 2007
410 Beiträge
 
#11

Re: sql abfrage - tabellen vergleichen

  Alt 17. Mär 2008, 23:46
ich habe es nochmal auf meine gegebenheiten von den feldnamen her angepasst, jedoch kommt kein ergebnis zurück. es kommt aber auch kein fehler!

SQL-Code:
SELECT vorname, nachname, fach
FROM schüler s
INNER JOIN schuelerfaecher sf
  ON s.id = sf.id_schueler
INNER 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)
Gruß Phil
  Mit Zitat antworten Zitat
omata

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

Re: sql abfrage - tabellen vergleichen

  Alt 17. Mär 2008, 23:50
Hast du in deiner Datenbank auch Constraints zwischen den Tabellen eingerichtet?

Ist die Tabelle "Fächer" eventuell leer bzw. enthält sie nicht alle Fächer?

Diese Problematik kann nicht eintreten, wenn die Constraints gesetzt sind.
  Mit Zitat antworten Zitat
Delphi-Phil

Registriert seit: 22. Jun 2007
410 Beiträge
 
#13

Re: sql abfrage - tabellen vergleichen

  Alt 17. Mär 2008, 23:51
die tabelle fächer ist nicht leer. es sind 3 einträge vorhanden. sonnst hätte es ja beim ersten test nicht funktioniert.

Was sind "Constraints" ??


Gruß Phil
  Mit Zitat antworten Zitat
omata

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

Re: sql abfrage - tabellen vergleichen

  Alt 17. Mär 2008, 23:56
Schau mal hier.

Versuch es mal so...
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)
Wenn jetzt etwas ausgegeben wird und die Spalte "fach" NULL liefert, dann fehlt das jeweilige Fach in der Tabelle "fächer" und du hast keine Constraints gesetzt.

Gruss
Thorsten
  Mit Zitat antworten Zitat
Delphi-Phil

Registriert seit: 22. Jun 2007
410 Beiträge
 
#15

Re: sql abfrage - tabellen vergleichen

  Alt 17. Mär 2008, 23:59
der code geht. es wird jedoch wieder nichts zurückgeliefert. es müsste ein eintrag raus kommen, da ein zeugnis fehlt!


gruß Phil
  Mit Zitat antworten Zitat
omata

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

Re: sql abfrage - tabellen vergleichen

  Alt 18. Mär 2008, 00:02
Dann machst du irgendeinen Denkfehler.

Ist dieses fehlende Fach eines Schülers auch in seinen Fächern (schuelerfaecher) eingetragen?

Edit: Kannst du nicht mal dein Beispiel zeigen?
  Mit Zitat antworten Zitat
Delphi-Phil

Registriert seit: 22. Jun 2007
410 Beiträge
 
#17

Re: sql abfrage - tabellen vergleichen

  Alt 18. Mär 2008, 00:08
die erste abfrage hat ja funktioniert, die änderung ist ja eientlich nur, dass statt der fach id bei dem fehlenden zeugnis der fachname stehen soll.(Denkfehler schließe ich deswegen aus)

was für ein beispiel soll ich dir zeigen??


Gruß Phil


Zitat:
Ist dieses fehlende Fach eines Schülers auch in seinen Fächern (schuelerfaecher) eingetragen?
Ja ist es!
  Mit Zitat antworten Zitat
omata

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

Re: sql abfrage - tabellen vergleichen

  Alt 18. Mär 2008, 00:11
Die erste Abfrage geht immer noch?
Dann kann es nur an der Tabelle "fächer" liegen.
Du must da selber reinkriechen und Fehlersuche machen, ich kann das von hier nicht sehen.
Reduziere das Problem auf eine Person und schau dir die entsprechenden Zeilen in den einzelnen Tabellen mal genau an.
  Mit Zitat antworten Zitat
Delphi-Phil

Registriert seit: 22. Jun 2007
410 Beiträge
 
#19

Re: sql abfrage - tabellen vergleichen

  Alt 18. Mär 2008, 00:12
ich bastel mir nochmal die erste abfrage!


soll ich dir per vnc mal meine anwendung zeigen?Hilft das evtl.?
  Mit Zitat antworten Zitat
omata

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

Re: sql abfrage - tabellen vergleichen

  Alt 18. Mär 2008, 00:15
Kannst du nicht für eine Person mal die Zeilen der Tabellen zeigen (Namen kannst du ja ändern)
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 3     12 3      


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 09:58 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