PHP MYSQL Abfrage

Homepages, CMS, Templates, Web Based Programming, Webhosting, Gameserver

Moderatoren: coolmann, chillmensch

Benutzeravatar
schmidtsmikey
Site Admin
Beiträge: 8969
Registriert: 08.12.2003, 21:50
Wohnort: Hamburg
Kontaktdaten:

Re: PHP MYSQL Abfrage

Beitragvon schmidtsmikey » 24.05.2010, 12:45

Ja, kein Witz: beim joggen ist mir eingefallen, dass man das auch mit einer Zwischentabelle lösen kann.

Wenn Du meine beiden Tabellen als Basis nimmst, könntest Du eine dritte Tabelle erstellen:

Tabelle t_krank

Code: Alles auswählen

krankheiten_id |symptome_id
----------------------------
1              | 2
1              | 3
1              | 4
2              | 1
2              | 5


Demzufolge kann man sehr schön einen SELECT * FROM t_krank WHERE symptome_id = 1 absetzen, um alle Symptome der Krankheit 1 zu bekommen. Dann musst Du mit Joins arbeiten, denn die IDs 2,3,4 sind nichts-aussagend. Der JOIN könnte dann so aussehen:

Code: Alles auswählen

Zeile 1. SELECT t_krank.*, symptome.symptom 
Zeile 2. FROM t_krank
Zeile 3. INNER JOIN (symptome)
Zeile 4. ON (t_krank.symptome_id = symptome.id)
Zeile 5. WHERE krankheiten_id = 1


Im Prinzip holst du den Wert aus der Tabelle Symptome, der zur symptome_id passt:

Zeile 1: Normaler SELECT. Wichtig: man muss die Tabelle explizit angeben, woher die Werte kommen.
Zeile 2: Angabe der Ausgangstabelle, auf die unser Query zielt
Zeile 3: JOIN auf die zweite Tabelle symptome
Zeile 4: "gib mir die Werte aus der zweiten Tabelle, wo t_krank.symptome_id und symptome.id übereinstimmen"


Zurück zu „Webseiten, Webprogrammierung & Domains“

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 13 Gäste