MySQL Abfrage über mehrere Tabellen

Arndtinho

Erfahrenes Mitglied
Hallo,

ich habe 3 Tabellen:

Tabelle 1:
Code:
id
name
ort
Tabelle 2:
Code:
id
name_id
descr
Tabelle 3:
Code:
id
name_id
descr
Tabelle 2 und 3 sind vom gleichen Aufbau, aber in 'descr' werden unterschiedliche Werte eingetragen.
Mein Problem liegt nun darin, das ich eine Abfrage brauche über alle 3 Tabellen, wobei in Tabelle 1 'name' und in den beiden anderen Tabellen 'descr' mit LIKE gechecked werden müssen. Meine bisherigen OR-Verknüpfungen oder JOIN-Verknüpfungen führten nicht zum Erfolg. Wie kann eine Abfrage diesbezüglich aussehen?
Vielleicht verdeutlicht dieses Beispiel, was ich meine:

Tabelle 1:
Code:
1 Max   Musterstadt
2 Felix  Stadt
3 Horst Dorf
Tabelle 2:
Code:
1 1 Koch
2 2 Bäcker
3 3 Musterhersteller
Tabelle 3:
Code:
1 2 Musterartikel
2 3 Gartenbedarf
Nun komme ich mit einem Suchbegriff 'Muster' daher. Normalerweise sollte mir jetzt die Suche alle 3 Einträge listen.
Oder muss ich das völlig anders anfangen?

Gruß
Arndtinho
 
versuch es mal mit

Code:
select * (from t1
left join t2 on t1.id = t2.id)
left join t3 on t1.id = t3.id
where name = $_POST['eingabe']

ps ohne gewähr (nicht getestet)
 
So geht es:
SQL:
SELECT Name, Ort, b.descr AS Beruf, v.descr AS Verkauf
FROM name n LEFT JOIN beruf b ON n.id = b.name_id 
            LEFT JOIN verkauf v ON n.id = v.name_id
WHERE Ort LIKE "%Muster%" OR b.descr LIKE "%Muster%" OR v.descr LIKE "%Muster%";
 
Hallo und guten Morgen,

sorry, dass ich mich erst jetzt melde.
Habe es erstmal anders lösen müssen (umständlicher). Werde Eure Vorschläge probieren.
Danke.

Gruß
Arndtinho
 
Zurück