tutorials.de Buch-Aktion 05/2012
ERLEDIGT
NEIN
ANTWORTEN
1
ZUGRIFFE
428
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    CObject CObject ist offline Grünschnabel
    Registriert seit
    Dec 2006
    Beiträge
    1
    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.
     

  2. #2
    Avatar von ronaldo84
    ronaldo84 ronaldo84 ist offline Mitglied Brokat
    Registriert seit
    Dec 2004
    Ort
    Berlin / Rudow
    Beiträge
    453
    Hm, wenn ich dein Anliegen richtig verstanden habe würde ich dir den Abfrageoperator ALL empfehlen.
    D.h.
    Code :
    1
    
    SELECT * FROM pic_key WHERE keywords =  ALL(keyA, KeyB)
    Das in den Klammern ist dann deine PHP-Werte die der User eingibt.
    Siehe dazu:
    http://dev.mysql.com/doc/refman/5.1/...ubqueries.html
    Grüße
     
    Bitte alle erledigten Themen abschliessen.

Ähnliche Themen

  1. SQL-Abfrage m:n Beziehung
    Von alkoholliger im Forum PHP
    Antworten: 6
    Letzter Beitrag: 15.04.09, 10:45
  2. oracle: Abfrage aus einer n zu m Beziehung
    Von BastianX75 im Forum Relationale Datenbanksysteme
    Antworten: 5
    Letzter Beitrag: 09.10.08, 10:38
  3. Antworten: 3
    Letzter Beitrag: 03.06.07, 12:07
  4. Maximalwert aus einer 1:n-Beziehung ermitteln
    Von janw im Forum Relationale Datenbanksysteme
    Antworten: 9
    Letzter Beitrag: 05.08.05, 09:37
  5. Antworten: 2
    Letzter Beitrag: 02.12.02, 16:59