Tobias: Feldinhalt enthält Tabellenname

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

--
Speedswimming? Finswimming? Flossenschwimmen?
ie:{ fl:| br:> va:) ls:[ fo:| rl:( n4:° ss:| de:] ch:? mo:) zu:)
Die Erklärung zum Selfcode findest du hier: http://emmanuel.dammerer.at/selfcode.html
Einen Decoder für den Selfcode findest du hier: http://peter.in-berlin.de/projekte/selfcode
  1. 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

    --
    “Whoever best describes the problem is the person most likely to solve the problem.” [Dan Roam]
    1. 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

      --
      “Whoever best describes the problem is the person most likely to solve the problem.” [Dan Roam]
    2. 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

      --
      Speedswimming? Finswimming? Flossenschwimmen?
      ie:{ fl:| br:> va:) ls:[ fo:| rl:( n4:° ss:| de:] ch:? mo:) zu:)
      Die Erklärung zum Selfcode findest du hier: http://emmanuel.dammerer.at/selfcode.html
      Einen Decoder für den Selfcode findest du hier: http://peter.in-berlin.de/projekte/selfcode
  2. 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