Announcement

Collapse
No announcement yet.

Syntax Query über viele Tabellen

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

  • Syntax Query über viele Tabellen

    Hallo,

    als mySQL-newbie stehe ich auf dem Schlauch:
    Gegeben sind mehrere Tabellen, die ich gleichzeitig abfragen
    muß:
    Haupttabelle ist A, Untertabellen sind B, C, ... M. Schlüssel ist
    jeweils "inv". Von der Haupttabelle ausgehend m:n-Beziehungen.

    Nun suche ich alle DS in A, welche
    - in A in verschiedenen Feldern einen Suchbegriff enthalten
    können (LIKE 'sonstwas'),
    oder
    - in einem Feld von B 'sonstwas' stehen haben
    oder
    - in einem Feld von C 'sonstwas' stehen haben
    oder
    - in einem Feld von D 'sonstwas' stehen haben
    oder
    - in einem Feld von E 'sonstwas' stehen haben
    oder ...
    ...gähn

    Wie bitte ist die Syntax füe diese Abfrage?
    Die DS aus A sollen natürlich nur eimal erscheinen.
    Es kann auch vorkommen, daß in den Feldern von A kein Treffer
    erziehlt wird, wohl aber in einer oder mehreren Untertabellen.

    Folgende Syntax zumindest - bitte nicht schlagen - zwingt den
    Server in die Knie:
    "SELECT Ob.inv, Ob.Bereich, Ob.Sammlung, Ob.Objekt, Ob.Titel,
    Ob.Bild1
    FROM (mOBJEKT Ob, mAltNamen aN, mMaterial Ma,
    mVerwendung Vw, mHersteller Hst)
    WHERE (Ob.inv like '%sonstwas%' OR
    Ob.Bereich like '%sonstwas%' OR
    Ob.Sammlung like '%sonstwas%' OR
    Ob.Objekt like '%sonstwas%' OR
    Ob.Titel like '%sonstwas%' OR
    Ob.Internet like '%sonstwas%' OR
    aN.AltNamen like '%sonstwas%' AND aN.inv = Ob.inv OR
    Ma.Material like '%sonstwas%' AND Ma.inv = Ob.inv OR
    Vw.Verwendung like '%sonstwas%' AND Vw.inv = Ob.inv OR
    Hst.Hersteller like '%sonstwas%' AND Hst.inv = Ob.inv )
    GROUP BY 'Ob.inv'
    ORDER BY 'Ob.inv'
    ASC LIMIT 25;"

    Es können noch mehr Tabellen hinzukommen...
    Ich vermute, daß ich dies mit JOIN o.ä. lösen muß, allein der
    Ansatz fehlt mir...

    Herzlichen Dank für DEN weiterhelfenden Tip!

    Till
Working...
X