Hallo Gemeinde,
ich verzweifel gerade mal wieder an der Zusammenstellung einer Suchabfrage, bei der Daten aus zwei Tabellen gelesen und verarbeitet werden müssen.
Ausgang:
Tabelle "person", Personendaten wie Name, Adresse, Zusätze...:
id|Name |...|werde_id|...
--+-----+--+--------+---
12|Müller|...| 38 |...
Tabelle "werdegang", z.B. Daten zu schulischen Laufbahnen, etc.
id|abschluss|...
--+--------+---
38|Abitur |...
So, jetzt sucht jemand nach Personen, die Abitur haben. Also muß ich alle passenden Datensätze aus "person" suchen. In "person" steht im Feld "werde_id" die ID zu dem Werdegang der Person. Dort in "werdegang" steht dann im Feld "abschluss" der Text, nachdem gesucht wird.
Jetzt müssen beide Tabellen bei der Suche verknüpft werden.
Ich habe vorher schon eine Suche gehabt, da gab es die Tabelle werdegang noch nicht, die sah dann so aus:
(wobei die Variable auch $abschl_suche in Kleinbuchstaben umgewandelt wurde...)
PHP-Code:
SELECT person.id FROM person WHERE LOWER(person.schule) LIKE '%$abschl_suche%'
Jetzt versuche ich das umzubiegen, bekomme aber keine gültige Syntax hin. Prinzipiell muß die Abfrage ja irgendwie so aufgebaut werden:
PHP-Code:
SELECT person.id FROM person WHERE
LOWER(werdegang.abschluss FROM werdegang WHERE werdegang.id=person.werde_id) LIKE '%$abschl_suche%'
Also das was jetzt in LOWER() steht ist natürlich syntaktischer Quatsch, aber das ist in etwa das was die Abfrage ja machen muß, ich suche nun die korrekte SQL-Syntax dazu.
Ich hoffe ich konnte das richtig erklären und ihr könnt mir schnell dazu helfen, vielen Dank im Vorraus.
Gruß
Martin