Hallo Datenbank Freunde,
ich habe folgende Tabellen und bin auf der Suche nach einem finalen Tipp. Denn meine Abfrage macht nicht das was sie machen soll.
In der Tabelle Person werden Personen mit einer ID und Namen abgespeichert.
In der Tabelle Partner wird eine Partnerschaft über die Personen IDs eingetragen.
In der Tabelle Kind werden Kinder mit einem Namen angelegt, die eine Mutter und einen Vater haben können. Mutter und Vater sind wieder die IDs aus der Tabelle Person.
Ich versuche z. B. folgendes Ergebnis zu erhalten:
[P_ID] [P_NAME] [P_NAME vom Partner] [K_Name vom Kind]
Tabelle 1 Person:
P_ID, P_NAME
Tabelle 2 Partner:
P_ID_1, P_ID_2
Tabelle 3 Kind:
K_NAME, K_MUTTER, K_VATER
Meine Abfrage:
Das ganze klappt soweit ganz gut.
Ergebnis der ersten Zeile stimmt. Danach kommen falsche Angaben, die so nicht in der Tabelle eingetragen sind. Die Namen werden wild durch gemixt und das Kind ist falsch.
Was mach ich falsch? Vielen Dank
ich habe folgende Tabellen und bin auf der Suche nach einem finalen Tipp. Denn meine Abfrage macht nicht das was sie machen soll.
In der Tabelle Person werden Personen mit einer ID und Namen abgespeichert.
In der Tabelle Partner wird eine Partnerschaft über die Personen IDs eingetragen.
In der Tabelle Kind werden Kinder mit einem Namen angelegt, die eine Mutter und einen Vater haben können. Mutter und Vater sind wieder die IDs aus der Tabelle Person.
Ich versuche z. B. folgendes Ergebnis zu erhalten:
[P_ID] [P_NAME] [P_NAME vom Partner] [K_Name vom Kind]
Tabelle 1 Person:
P_ID, P_NAME
Tabelle 2 Partner:
P_ID_1, P_ID_2
Tabelle 3 Kind:
K_NAME, K_MUTTER, K_VATER
Meine Abfrage:
Code:
SELECT DISTINCT
p1.p_id,
p1.p_name as pn1,
p2.p_name as pn2,
kind.k_name
FROM
person as p1,
person as p2,
partner,
kind
JOIN
person
ON
p_id = person.p_id
WHERE
p1.p_id = partner.pa_p_1
AND
p2.p_id = partner.pa_p_2
AND
p1.p_id = kind.k_mutter
OR
p2.p_id = kind.k_vater
Das ganze klappt soweit ganz gut.
Ergebnis der ersten Zeile stimmt. Danach kommen falsche Angaben, die so nicht in der Tabelle eingetragen sind. Die Namen werden wild durch gemixt und das Kind ist falsch.
Was mach ich falsch? Vielen Dank
Zuletzt bearbeitet von einem Moderator: