ERLEDIGT
NEIN
NEIN
ANTWORTEN
1
1
ZUGRIFFE
428
428
EMPFEHLEN
-
Hallo zusammen ...
Es gibt Bilder und Schlüsselworte. Jedes Bild kann beliebig viele Schlüsselworte haben und jedes Schlüsselwort kann bei beliebig vielen Bildern verwendet werden. Diese m:n Beziehung habe ich in folgenden drei Tabellen untergebracht:
table: picture
fields: id
table: keyword
fields: id
table: pic_key
fields: pic_id, key_id
Nun gibt der Benutzer Schlüsselworte an und die DB soll alle picture.id liefern, die alle Schlüsselworte benutzt.
picture
---------
pic1
pic2
pic3
keyword
------------
keyA
keyB
pic_key
-----------
pic1 keyA
pic2 keyA
pic2 keyB
pic3 keyB
Wenn der Benutzer bei o.g. Einträgen also die Schlüsselworte keyA und keyB eingibt, erwarte ich, dass ich als picture.id die pic2 geliefert bekomme. Und nur diese.
Irgendwie habe ich da einen Knoten und weiß nicht so recht, wie die Abfrage aussehen muss. Über eine temporäre Tabelle oder eine interne Liste mit den picture.id habe ich auch schon nachgedacht. Ein zusätzliches Problem ist allerdings, dass ich auch ein Auge auf die Performance haben muss, da die DB für Massendaten (> 100.000 Bilder) ausgelegt ist. Mir fehlt schlicht eine Idee wie die Abfrage aussehen soll. Wenn da jemand einen Tipp hat, wäre ich sehr dankbar.
-
26.12.06 20:10 #2
Hm, wenn ich dein Anliegen richtig verstanden habe würde ich dir den Abfrageoperator ALL empfehlen.
D.h.
Das in den Klammern ist dann deine PHP-Werte die der User eingibt.Code :1
SELECT * FROM pic_key WHERE keywords = ALL(keyA, KeyB)
Siehe dazu:
http://dev.mysql.com/doc/refman/5.1/...ubqueries.html
GrüßeBitte alle erledigten Themen abschliessen.
Ähnliche Themen
-
SQL-Abfrage m:n Beziehung
Von alkoholliger im Forum PHPAntworten: 6Letzter Beitrag: 15.04.09, 10:45 -
oracle: Abfrage aus einer n zu m Beziehung
Von BastianX75 im Forum Relationale DatenbanksystemeAntworten: 5Letzter Beitrag: 09.10.08, 10:38 -
SQL-Abfrage innerhalb einer Funktion mit Parameter funktioniert nicht
Von qsrs im Forum PHPAntworten: 3Letzter Beitrag: 03.06.07, 12:07 -
Maximalwert aus einer 1:n-Beziehung ermitteln
Von janw im Forum Relationale DatenbanksystemeAntworten: 9Letzter Beitrag: 05.08.05, 09:37 -
Abfrage in einer 2ten Tabelle innerhalb einer Funktion****
Von coloxer im Forum PHPAntworten: 2Letzter Beitrag: 02.12.02, 16:59





Zitieren
Login





