Folgendes Problem:
Ich habe eine GRUNDTABELLE:
ID Name Vorname
--------------------------------
1234 Müller Peter
5678 Schmitz Uwe
9876 Meier Thomas
Eine MERKMALTABELLE
ID Merkmal-ID
------------------------------
1234 2
1234 3
5678 2
5678 3
9876 1
Eine MERKMALBESCHREIBUNGSTABELLE
Merkmal-ID Merkmal-Beschreibung
------------------------------------
1 Merkmal1
2 Merkmal2
3 Merkmal3
1. Die Grundtabelle ist in einer "1 zu N" Beziehung mit der Merkmaltabelle über ID verbunden, so dass über eine "inner Join" folgendes
Ergebnis entsteht:
ID Name Vorname Merkmal-ID
--------------------------------------------
1234 Müller Peter 1
1234 Müller Peter 2
1234 Müller Peter 3
5678 Schmitz Uwe 2
5678 Schmitz Uwe 3
9876 Meier Thomas 1
2. Über ein weiteres "inner Join" mit der Merkmalbezeichnungs-Tabelle entsteht folgendes Ergebnis:
ID Name Vorname Merkmal-ID Merkmal-Beschreibung
--------------------------------------------------------------------
1234 Müller Peter 1 Merkmal1
1234 Müller Peter 2 Merkmal2
1234 Müller Peter 3 Merkmal3
5678 Schmitz Uwe 2 Merkmal2
5678 Schmitz Uwe 3 Merkmal3
9876 Meier Thomas 1 Merkmal1
Zur besseren weiteren Verarbeitung möchte ich aber die verschiedene Merkmale gleicher Datensatzes in einer Datenzeile wie folgt haben:
WUNSCHERGEBNIS:
===============
ID Name Vorname Merkmal-ID Merkmal-Beschreibung1 Merkmal-Beschreibung2 Merkmal-Beschreibung3
---------------------------------------------------------------------------------
1234 Müller Peter 1 Merkmal1 Merkmal2 Merkmal3
5678 Schmitz Uwe 2 NULL Merkmal2 Merkmal3
9876 Meier Thomas 1 Merkmal1 NULL NULL
Ich habe dies über ein "left outer Join" für jede einzelne Merkmal-ID versucht. Sobald aber die Merkmal-ID "1" fehlt, werden auch die DS
nicht gejoint. Ist die Merkmal-ID "2" vorhanden, kann aber wegen des fehlenden DS nicht mehr gejoint werden.
Hat jemandeine Idee, wie dies lösbar ist.
Zusammengefasst:
Mehrere identische DS in einer Datenzeile zusammenfassen
Zur besseren Tabellenübersicht s. Anlage
Ich habe eine GRUNDTABELLE:
ID Name Vorname
--------------------------------
1234 Müller Peter
5678 Schmitz Uwe
9876 Meier Thomas
Eine MERKMALTABELLE
ID Merkmal-ID
------------------------------
1234 2
1234 3
5678 2
5678 3
9876 1
Eine MERKMALBESCHREIBUNGSTABELLE
Merkmal-ID Merkmal-Beschreibung
------------------------------------
1 Merkmal1
2 Merkmal2
3 Merkmal3
1. Die Grundtabelle ist in einer "1 zu N" Beziehung mit der Merkmaltabelle über ID verbunden, so dass über eine "inner Join" folgendes
Ergebnis entsteht:
ID Name Vorname Merkmal-ID
--------------------------------------------
1234 Müller Peter 1
1234 Müller Peter 2
1234 Müller Peter 3
5678 Schmitz Uwe 2
5678 Schmitz Uwe 3
9876 Meier Thomas 1
2. Über ein weiteres "inner Join" mit der Merkmalbezeichnungs-Tabelle entsteht folgendes Ergebnis:
ID Name Vorname Merkmal-ID Merkmal-Beschreibung
--------------------------------------------------------------------
1234 Müller Peter 1 Merkmal1
1234 Müller Peter 2 Merkmal2
1234 Müller Peter 3 Merkmal3
5678 Schmitz Uwe 2 Merkmal2
5678 Schmitz Uwe 3 Merkmal3
9876 Meier Thomas 1 Merkmal1
Zur besseren weiteren Verarbeitung möchte ich aber die verschiedene Merkmale gleicher Datensatzes in einer Datenzeile wie folgt haben:
WUNSCHERGEBNIS:
===============
ID Name Vorname Merkmal-ID Merkmal-Beschreibung1 Merkmal-Beschreibung2 Merkmal-Beschreibung3
---------------------------------------------------------------------------------
1234 Müller Peter 1 Merkmal1 Merkmal2 Merkmal3
5678 Schmitz Uwe 2 NULL Merkmal2 Merkmal3
9876 Meier Thomas 1 Merkmal1 NULL NULL
Ich habe dies über ein "left outer Join" für jede einzelne Merkmal-ID versucht. Sobald aber die Merkmal-ID "1" fehlt, werden auch die DS
nicht gejoint. Ist die Merkmal-ID "2" vorhanden, kann aber wegen des fehlenden DS nicht mehr gejoint werden.
Hat jemandeine Idee, wie dies lösbar ist.
Zusammengefasst:
Mehrere identische DS in einer Datenzeile zusammenfassen
Zur besseren Tabellenübersicht s. Anlage
Comment