[MySQL] Problem mit Daten die auf mehrere Tabellen verteilt sind
flaimo 26.04.2003 - 18:20 634 2
flaimo
ILFTKYS
|
folgendes szenario: TABELLE "PERSON"---------------------------------------------
| P_ID (Primary) | Andere P Felder...
---------------------------------------------
| 1 | .....
| 2 | .....
TABELLE "PERSON_STUDIES"Welche Person studiert was; Ein Student kann mehrere Sachen studieren, kann aber auch gar nix studieren --------------------------------------|
| P_ID | S_ID |
--------------------------------------|
| 1 | 12 |
| 1 | 56 |
| 3 | 13 |
TABELLE "STUDIES"Tabelle mit allen Studienrichtungen und die dazugehörige Fakultät -------------------------------------------------------------------|
| S_ID (Primary) | Fakultät | Name |
-------------------------------------------------------------------|
| 1 | SoWi | Wirtschaftswissenschaften |
| 2 | ReWi | Jura |
Gewünschtes ErgebnisListe mit allen Personen. Wenn diese nix studiert steht zumindest eine Reihe dort und im Fakultätsfeld NULL. Wenn sie ein oder mehrere Sachen studiert, soll für jede Fakultät einmal eine Reihe für die Person erzeugt werden. --------------------------------------------------------------
| P_ID | Fakultät | andere P Felder
--------------------------------------------------------------
| 1 | SoWi | ....
| 1 | ReWi | ....
| 2 | NULL | ....
|
Guest
Deleted User
|
schon mal mit "LEFT JOIN" probiert?
select p.p_id, s.fakultät from persons p left join person_studies X on p.p_id = X.p_id join studies s on X.s_id = s.id
|
flaimo
ILFTKYS
|
problem gelöst. herrn rettichs lösung ging schon in die richtige richtung, nur dass die personen die gar nix studiert haben nicht in der liste standen. hab jetz einfach eine kategorie "unbekannt" in der studies tabelle eingefügt die allen nicht studenten zugeteilt wird. so klappts auch mit dem nachbarn....
|