Seite 1 von 1

zwei Zeilen zu einer zusammenfassen (gelöst)

Verfasst: Mi, 11.01.2012 23:13
von Noebian
Moin, ich bräuchte mal Hilfe in Sachen SQL.
Grob vereinfacht habe ich folgende Tabelle (als Ergebnis einer Abfrage):

Name * Elternname * Elterncode
Hans Pansen * Kurt Pansen * 1
Hans Pansen * Maria Pansen * 2
Heinz Wurst * Manfred Wurst * 1
Heinz Wurst * Helga Wurst * 2


Haben möchte ich folgendes:
Name * Vater * Mutter
Hans Pansen * Kurt Pansen * Maria Pansen
Heinz Wurst * Manfred Wurst * Helga Wurst

aber wie komme ich dahin?

Re: zwei Zeilen zu einer zusammenfassen

Verfasst: Do, 12.01.2012 21:35
von F3K Total
Hallo,
angenommen, Deine Tabelle heißt "Kinder_Eltern" mit den Spalten "Name", "Elternname" und "Elterncode"
dann geht der folgende SQL-Code:

Code: Alles auswählen

SELECT DISTINCT "E1"."Name", "E1"."Elternname" as "Elternteil 1", "E2"."Elternname" as "Elternteil 2" FROM (SELECT DISTINCT "Name", "Elternname" FROM "Kinder_Eltern" where "Elterncode" =1) as "E1" LEFT OUTER JOIN (SELECT DISTINCT "Name", "Elternname" FROM "Kinder_Eltern" WHERE "Elterncode" = 2) as "E2" ON "E1"."Name" = "E2"."Name"
Viel Erfolg,
Gruß R

Re: zwei Zeilen zu einer zusammenfassen

Verfasst: Sa, 14.01.2012 21:51
von Noebian
Hi, danke für die Antwort. Das bringt mich schon ein ganzes Stück weiter.
Allerdings gibt es noch ein Problem: wenn ein Kind nur eine Mutter, aber keinen Vater hat, wird der Datensatz nicht angezeigt...

Re: zwei Zeilen zu einer zusammenfassen

Verfasst: Sa, 14.01.2012 22:50
von F3K Total
Nun, da nimmt man sich dann eine dritte Abfrage dazu ...

Code: Alles auswählen

SELECT Distinct "Name", "V"."Elternname" AS "Vater", "M"."Elternname" AS "Mutter" FROM "Kinder_Eltern" as "N"
LEFT JOIN (SELECT "Name", "Elternname" FROM "Kinder_Eltern" WHERE "Elterncode" = 1) as "V" ON "N"."Name" = "V"."Name" 
LEFT JOIN (SELECT "Name", "Elternname" FROM "Kinder_Eltern" WHERE "Elterncode" = 2) as "M" ON "N"."Name" = "M"."Name"  
Gruß R

Re: zwei Zeilen zu einer zusammenfassen

Verfasst: So, 15.01.2012 20:24
von Noebian
Super, funtioniert tadelos. (Ich musste allerdings das erste "Name" durch N.Name ersetzen)
Vielen Dank! Ich habe viel gelernt...

Re: zwei Zeilen zu einer zusammenfassen

Verfasst: So, 15.01.2012 20:28
von F3K Total
Hi,
komisch, bei mir geht es ohne N.
Gruß R
Edit: Du benutzt MySQL! Daran liegt es.