PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Abfrage über mehrere Tabellen aber mit Bedingung dass alle zutreffen


darkcin
25.05.2007, 16:04:14
Ich habe eine Tabelle Anfrage, der über Fremdschlüssel Eigenschaften zugewiesen sind also

1. Tabelle Anfrage
id name
1 Test


2. Tabelle Eigenschaft
id Name
2 Gewicht
3 Papier


und eine Relationstabelle die zuweist welche Eigenschaften eine Anfrage hat.

also

3. Tabelle Anfrage_Eigenschaft

anfrage_id eigenschaft_id
1 2
1 3

u.s.w.

Jetzt möchte ich eine Suchmaschine bauen in der man alle Eigenschaften anklicken kann und eine Datenbankabfrage dementsprechend aufgebaut wird.

Ich könnte INTERSECT nehmen, wenn es in MySQL implementiert wäre. Gibt es eine andere Möglichkeit eine Suche zu starten:

Liefer mir alle Anfragen, die die Eigenschaft 1 haben, die Eigenschaft 2 haben und 3 u.s.w.?

meikel (†)
25.05.2007, 19:21:51
Wenn es nicht mehr als 64 Eigenschaften sind, kannste für die Eigenschaften den Spaltentyp SET verwenden.


SELECT spalten,liste FROM tabelle WHERE FIND_IN_SET('Gewicht', Eigenschaft)>0 AND FIND_IN_SET('Papier', Eigenschaft)>0