Liebe User,
ich möchte aus meiner Datenbank Informationen ausgeben lassen, bei denen es unabdingbar ist, dass ich 2 Tabellen verwende. Der konkrete Sachverhalt ist irrelevant, daher beschreibe ich das Vorhaben an einem einfach Modell:
Tabelle 1:
ID | Information1
01 | 10
02 | 20
03 | 30
04 | 40
05 | 50
06 | 60
Tabelle 2:
ID | Information2
01 | 5
03 | 10
04 | 15
Der Sachverhalt ist klar: Ich habe zwei Tabellen, die je eine ID-Spalte haben, deren beinhaltende ID-Nummern eindeutig zugeordnet werden können und auch zwischen den Tabellen einander zugeordnet sind. Das heißt: Das was ich in Tabelle 1 mit ID beschreibe ist auch wirklich das selbe, was ich in Tabelle 2 mit eben der selben ID beschreibe.
Jetzt ist mein Ziel eine Ausgabe ALLER 6 Spalten aus Tabelle 1 aber unter Berücksichtigung der Informationen aus Tabelle 2. Diese sollen von den Informationen aus Tabelle 1 subtrahiert werden.
Ich habe dies über JOIN versucht:
SELECT Tabelle1.Information1 - Tabelle2.Information2 AS Information3
FROM (SELECT ID, Information1 FROM Tabelle1) AS Tabelle1
JOIN (SELECT ID, Information2 FROM Tabelle2) AS Tabelle2
ON Tabelle1.ID = Tabelle2.ID
Allerdings hat dies zur Folge, dass bei der Ausgabe lediglich die Zeilen ausgegeben werden, die auch in beiden Tabellen auftauchen. Also die Zeilen, die die in ihrer ID-Spalte 01, 03 oder 04 stehen haben. Gewollt ist allerdings, dass alle Zeilen aus Tabelle 1 ausgegeben werden. Sollte es keine Entsprechung in Tabelle 2 geben, um die gewollte Subtraktion durchzuführen, müsste logischer Weise das Ausgabe-Resultat (oben als Information3 bezeichnet) der Information1 aus Tabelle 1 entsprechen.
Daraus schließe ich, dass ich das mit JOIN so nicht umsetzen kann. Kann mir jemand bitte den Hinweis geben, wie ich das Problem lösen kann um zum gewünschten Ergebnis zu kommen?
ich möchte aus meiner Datenbank Informationen ausgeben lassen, bei denen es unabdingbar ist, dass ich 2 Tabellen verwende. Der konkrete Sachverhalt ist irrelevant, daher beschreibe ich das Vorhaben an einem einfach Modell:
Tabelle 1:
ID | Information1
01 | 10
02 | 20
03 | 30
04 | 40
05 | 50
06 | 60
Tabelle 2:
ID | Information2
01 | 5
03 | 10
04 | 15
Der Sachverhalt ist klar: Ich habe zwei Tabellen, die je eine ID-Spalte haben, deren beinhaltende ID-Nummern eindeutig zugeordnet werden können und auch zwischen den Tabellen einander zugeordnet sind. Das heißt: Das was ich in Tabelle 1 mit ID beschreibe ist auch wirklich das selbe, was ich in Tabelle 2 mit eben der selben ID beschreibe.
Jetzt ist mein Ziel eine Ausgabe ALLER 6 Spalten aus Tabelle 1 aber unter Berücksichtigung der Informationen aus Tabelle 2. Diese sollen von den Informationen aus Tabelle 1 subtrahiert werden.
Ich habe dies über JOIN versucht:
SELECT Tabelle1.Information1 - Tabelle2.Information2 AS Information3
FROM (SELECT ID, Information1 FROM Tabelle1) AS Tabelle1
JOIN (SELECT ID, Information2 FROM Tabelle2) AS Tabelle2
ON Tabelle1.ID = Tabelle2.ID
Allerdings hat dies zur Folge, dass bei der Ausgabe lediglich die Zeilen ausgegeben werden, die auch in beiden Tabellen auftauchen. Also die Zeilen, die die in ihrer ID-Spalte 01, 03 oder 04 stehen haben. Gewollt ist allerdings, dass alle Zeilen aus Tabelle 1 ausgegeben werden. Sollte es keine Entsprechung in Tabelle 2 geben, um die gewollte Subtraktion durchzuführen, müsste logischer Weise das Ausgabe-Resultat (oben als Information3 bezeichnet) der Information1 aus Tabelle 1 entsprechen.
Daraus schließe ich, dass ich das mit JOIN so nicht umsetzen kann. Kann mir jemand bitte den Hinweis geben, wie ich das Problem lösen kann um zum gewünschten Ergebnis zu kommen?
Kommentar