Hallo,ich habe ein Problem mit SQL ...
Ich habe folgende Tabellenstruktur in MySQL:
Tabelle "Produkte"-----------
id | titel
-----------
1 | AAA
2 | BBB
3 | CCC
-----------
Tabelle "merkmal1"
-----------
id | titel
-----------
1 | rot
2 | blau
3 | gelb
------------
Tabelle "merkmal2"
-----------
id | titel
-----------
1 | a
2 | b
3 | c
------------
Tabelle "merkmal3"
-----------
id | titel
-----------
1 | 12
2 | 14
3 | 16
------------
Dann habe ich noch drei Kreuztabellen um mehrere Merkmale einen einem Produkt zuzuweisen zu können.Tabelle "merkmal1_produkte"-------------------------
produkt_id | merkmal1_id
-------------------------
1 | 2
1 | 3
2 | 2
-------------------------
Tabelle "merkmal2_produkte"
-------------------------
produkt_id | merkmal2_id
-------------------------
3 | 2
-------------------------
Tabelle "merkmal3_produkte"
-------------------------
produkt_id | merkmal3_id
-------------------------
1 | 1
3 | 2
2 | 1
2 | 3
-------------------------
Demnach sind z.B. dem Produkt BBB die folgenden Merkmale zugeordnet:BBB => blau
=> 14 + 16
Soweit so gut .. nun habe ich aber ein Problem, wenn ich eine Suche danach absetzten möchte. Die Suche soll über die Felder
a) Merkmal1
b) Merkmal2
c) merkmal3
die als Auswahlmenü dargestellt sind ausgeführt werden. Wenn ich nun beliebig die Merkmale mixen möchte, dann verstehe ich jetzt nicht, wie ich das SQL gestalten muss. Ich denke über einen JOIN? Kann mir dabei jemand helfen? Wenn möglicht mit einer kurzen Erklärung.
Vielen Dank.
Martin
Datum: 14.11.2005-17:39
