Announcement

Collapse
No announcement yet.

UND-Suche nach mehreren Begriffen in verschiedenen Tabellen

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • UND-Suche nach mehreren Begriffen in verschiedenen Tabellen

    Hallo zusammen,

    ich baue eine Datenbank in der ich Informationen zu Fotos speichern will. Die DB besteht aus drei Tabellen:
    • fotoinfo: enthält Infos zum Foto, also Titel, Beschreibung, die Nummer des Fotos im Archiv etc. Schlüssel ist fotoid.
    • keywords: enthält die Liste der Schlagwörter, die den Fotos zugewiesen werden können (kw_id, keyword)
    • foto2kw: verknüpft die beiden Tabellen über die Schlüssel fotoid und kw_id


    Nun möchte ich die Datenbank natürlich nach verschiedenen Kriterien durchsuchen können. Die ODER-Abfrage steht schon, Kopfzerbrechen bereitet mir aber noch die UND-Abfrage. Mein Entwurf dafür sieht wie folgt aus, allerdings werden dabei eben nur die Schlagwörter (und nicht zusätzlich fotoinfo.titel bzw. fotoinfo.beschreibung berücksichtigt) und mir stellt sich außerdem die Frage, wie performant diese IN-Lösung bei einer großen Datenbank ist?

    Code:
    SELECT f2k.fotoid, fi.archivid, fi.titel, fi.beschreibung 
    FROM foto2kw f2k LEFT JOIN fotoinfo fi ON f2k.fotoid = fi.fotoid 
    WHERE f2k.kw_id = 
    (SELECT kw_id FROM keywords 
    WHERE keyword LIKE ('%fliegenpilz%')) AND f2k.fotoid IN 
    ( SELECT fotoid 
    FROM foto2kw 
    WHERE kw_id = 
    (SELECT kw_id 
    FROM keywords 
    WHERE keyword LIKE ('%wiese%')) )
    Wie könnte ich diese Abfrage sinnvoll um die anderen Felder erweitern?

    Danke und Gruß

    Martin

  • #2
    Man könnte es mit einem Join versuchen

    Comment


    • #3
      Hallo,
      Originally posted by Enabran View Post
      ...Wie könnte ich diese Abfrage sinnvoll um die anderen Felder erweitern?
      Du solltest dich mit den Möglichkeiten der Volltextsuche beschäftigen.

      Gruß Falk
      Wenn du denkst du hast alle Bugs gefunden, dann ist das ein Bug in deiner Denksoftware.

      Quellcode ohne ein Mindestmaß an Formatierung sehe ich mir nicht an! Ich leiste keinen Privatsupport per Mail oder PN!

      Comment

      Working...
      X