Supportnet / Forum / Datenbanken
brauche Hilfe bei SQL-Abfrage
Frage
Hallo,
ich brauche dringend Hilfe bei einer (meiner meinung nach) komplizierten SQL-Abfrage, ich versuche mal einfach auszudrücken was ich möchte.... bin schon seit tagen am probieren, aber irgendwie komme ich mit der SQL-Syntax nicht so ganz zurecht, so das ich eigentlich immer syntaxfehler habe weil das so nicht geht, wie ich das gern möchte... ;-)
Also, ich habe drei Tabellen:
ObjektVerwendung{ROOT_NR,OBJEKT_NR,OBJEKT_REVISION}
Revison{OBJEKT_NR,Ort,Anfang,Ende}
ObjektInfos{OBJEKT_NR,Erstelldatum,Änderungsdatum,Bezeichnung}
so, ich brauche nun als Ausgabe von der Tabelle "ObjektVerwendung" alles, das wäre ja dann
[code]SELECT ROOT_NR, OBJEKT_NR,OBJEKT_REVISION FROM ObjektVerwendung;[/code]
Von der Tabelle "Revision" brauche ich den Ort, den Anfang und das Ende immer dann wenn die OBJEKT_NR der Tabelle "Revision" gleich der OBJEKT_NR der Tabelle "ObjektVerwendung" ist, das wäre dann wie folgt:
[code]
SELECT Ort, Anfang, Ende FROM Revision WHERE Revision.OBJEKT_NR = ObjektVerwendung.OBJEKT_NR;
[/code]
So, von der Tabelle "ObjektInfos" brauche ich einmal die passende Bezeichnung zur jeweiligen OBJEKT_NR, wäre wie folgt:
[code]
SELECT Bezeichnung FROM ObjektInfos WHERE ObjektInfos.OBJEKT_NR = ObjektVerwendung.OBJEKT_NR;
[/code]
Und dann brauch ich noch das Erstelldatum und das Datum der letzten änderung zu allen Objektnummern die in der Tabelle "Revision´" nicht vorkommen, das wäre ja wie folgt:
[code]
SELECT Erstelldatum, Änderungsdatum FROM ObjektInfos WHERE ObjektVerwendung.OBJEKT_NR NOT LIKE Revision.OBJEKT_NR;
[/code]
Einzeln klappt das ja ganz gut, aber wie bekomme ich das alles in eine Abfrage rein??
Ich hoffe ihr blickt da durch und könnt mir helfen.... ;-)
Und wenn ihr fragen habt fragt bitte, werde versuchen sie euch zu beantworten..... ;-)
Gruß
Sashka
Antwort 1 von trekking
Wie sind deine Tabellen miteinander Verknüpft, was machst du mit der Abfrage.
Hast du das ganze schon einmal in den AbfrageEditor eingegeben und die Abfrage erstellt? Dann erhälst du ja auch den SQL Code.
Gruß trekking
Hast du das ganze schon einmal in den AbfrageEditor eingegeben und die Abfrage erstellt? Dann erhälst du ja auch den SQL Code.
Gruß trekking
Antwort 2 von piano
Hallo
Die Abfrage könnte in etwa so aussehen:
Allerdings ist möglicherweise an den Beziehungen etwas zu feilen!
Gruß piano
Es wäre nett, wenn Du ein Feedback abgeben könntest,
ob der Lösungsvorschlag Dein Problem gelöst hat.
Die Abfrage könnte in etwa so aussehen:
SELECT ObjektInfos.*, ObjektVerwendung.*, Revision.*
FROM Revision INNER JOIN (ObjektInfos INNER JOIN ObjektVerwendung ON ObjektInfos.OBJEKT_NR = ObjektVerwendung.ROOT_NR) ON Revision.OBJEKT_NR = ObjektVerwendung.ROOT_NR;
.Allerdings ist möglicherweise an den Beziehungen etwas zu feilen!
Gruß piano
Es wäre nett, wenn Du ein Feedback abgeben könntest,
ob der Lösungsvorschlag Dein Problem gelöst hat.
Antwort 3 von Sashka
Hallo,
erst mal danke für die Antworten, ich werde das sobald ich auf der Arbeit bin mal ausprobieren und mir auch nochmal genauer ansehen... ;-)
Die Tabellen haben folgende beziehungen: ObjektVerwendung und Revision haben eine 1 zu 1 beziehung.(wobei aber in der Objekt-verwendung ALLE objekte drin stehen und in der Revision nicht.... ist das dann trotzdem eine 1 zu 1 beziehung????) und ObjektVerwendung und ObjektInfos haben ebenfalls eine 1 zu 1 beziehung (wobei hier die anzahl der Objekte identisch sein müssten, aber ich schaue auf der arbeit nochmal nach)
Melde mich dann im Laufe des Tages nochmal ob mir die abfrage weitergeholfen hat, aber auf jeden fall erst mal danke für die antworten... ;-)
Gruß
Sashka
erst mal danke für die Antworten, ich werde das sobald ich auf der Arbeit bin mal ausprobieren und mir auch nochmal genauer ansehen... ;-)
Die Tabellen haben folgende beziehungen: ObjektVerwendung und Revision haben eine 1 zu 1 beziehung.(wobei aber in der Objekt-verwendung ALLE objekte drin stehen und in der Revision nicht.... ist das dann trotzdem eine 1 zu 1 beziehung????) und ObjektVerwendung und ObjektInfos haben ebenfalls eine 1 zu 1 beziehung (wobei hier die anzahl der Objekte identisch sein müssten, aber ich schaue auf der arbeit nochmal nach)
Melde mich dann im Laufe des Tages nochmal ob mir die abfrage weitergeholfen hat, aber auf jeden fall erst mal danke für die antworten... ;-)
Gruß
Sashka

