Feldinhalt enthält Tabellenname
Tobias
- datenbank
Hallo,
folgendes Szenario:
Einem Produkt sollen verschiedene Eigenschaften zugeordnet werden. Diese Eigenschaften lassen sich in bestimmte Gruppen packen. Die Informationen die zu diesen Eigenschaften innerhalb der Gruppe gemacht werden, sind pro Gruppe sehr unterschiedlich. Daher habe ich pro Gruppe eine Tabelle angelegt.
Ich habe also derzeit ein Konstrukt von 3 Tabellen"arten".
1. Tabelle: Allgemeine Produktinformationen
2. Tabelle(n): Informationen zu den Eigenschaften. (Eben für jede oben genannte Gruppe eine.)
3. Tabelle: Soll die Produkte mit den Eigenschaften verknüpfen. Dazu gibt es die Felder: id,gruppenname,eigenschafts_id
id - Primärschlüssel (Autoincrement)
gruppenname - enthält den Namen der Tabelle in der die Informationen zu den Eigenschaften sind
eigenschafts_id - id der Eigenschaft in der Tabelle die unter Gruppenname steht.
Etwas wirr, aber ich hoffe ihr versteht was ich da gemacht habe.
Um nun aber JOINS o.ä. ausführen zu können, muss ich ja irgendwie das was im gruppennamen feld steht in meinem SQL-Statement als Tabellennamen verwenden können. Wie mach ich das? Oder gibt es einen viel besseren weg für mein Vorhaben?
Achso, es geht übrigens um MySql.
Vielen Dank für eure Hilfe.
Tschau
Tobias
Hi,
Einem Produkt sollen verschiedene Eigenschaften zugeordnet werden. Diese Eigenschaften lassen sich in bestimmte Gruppen packen. Die Informationen die zu diesen Eigenschaften innerhalb der Gruppe gemacht werden, sind pro Gruppe sehr unterschiedlich. Daher habe ich pro Gruppe eine Tabelle angelegt.
So weit, so schlecht.
Um nun aber JOINS o.ä. ausführen zu können, muss ich ja irgendwie das was im gruppennamen feld steht in meinem SQL-Statement als Tabellennamen verwenden können. Wie mach ich das?
Am besten - gar nicht.
Wenn du in deinem Datenmodell nicht jederzeit weißt, was sich in welcher Tabelle befindet, sondern das erst im SQL ermitteln willst - dann steht eher zu vermuten, dass du etwas falsch gemacht hast, als denn richtig.
Oder gibt es einen viel besseren weg für mein Vorhaben?
Sieh zu, dass du die einzelnen Tabellen für Gruppeneigenschaften loswirst.
Baue das ganze so auf, dass du Eigenschaft und Wert als Spalten eines Datensatzes ablegst, für *alle* Eigenschaften, in *einer*
Nimm die Gruppen-ID(!) wenn notwendig noch als zusätzliche Spalte in diese eine Tabelle mit auf.
MfG ChrisB
Hi,
Baue das ganze so auf, dass du Eigenschaft und Wert als Spalten eines Datensatzes ablegst, für *alle* Eigenschaften, in *einer*
„... Tabelle“, sollte das heißen.
MfG ChrisB
Hallo Chris,
Baue das ganze so auf, dass du Eigenschaft und Wert als Spalten eines Datensatzes ablegst, für *alle* Eigenschaften, in *einer*
sowas hab ich fast befürchtet. Hab die DB jetzt dementsprechend umgebaut.
Vielen Dank.
Tobias
moin,
Etwas wirr, aber ich hoffe ihr versteht was ich da gemacht habe.
mir ist das noch nicht ganz klar, kannst du mal ausführliche beispiel angeben, was genau deine ausgangssituation ist und welche version von mysql verwendest du ?
Ilja