Supportnet Computer
Planet of Tech

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

Antwort 2 von piano

Hallo
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

Ich möchte kostenlos eine Frage an die Mitglieder stellen:


Ähnliche Themen:


Suche in allen vorhandenen Beiträgen: