"Christmas - the time to fix the computers of your loved ones" « Lord Wyrm

[MySQL] Problem mit Daten die auf mehrere Tabellen verteilt sind

flaimo 26.04.2003 - 18:20 634 2
Posts

flaimo

ILFTKYS
Avatar
Registered: Dec 2001
Location: ask a ninja
Posts: 872
folgendes szenario:


TABELLE "PERSON"

Code:
---------------------------------------------
|  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

Code:
--------------------------------------|
|      P_ID        |       S_ID       |
--------------------------------------|
|        1         |         12       |
|        1         |         56       |
|        3         |         13       |

TABELLE "STUDIES"
Tabelle mit allen Studienrichtungen und die dazugehörige Fakultät

Code:
-------------------------------------------------------------------|
|  S_ID (Primary)  |     Fakultät     |            Name            |
-------------------------------------------------------------------|
|        1         |       SoWi       | Wirtschaftswissenschaften  |
|        2         |       ReWi       | Jura                       |


Gewünschtes Ergebnis
Liste 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.

Code:
--------------------------------------------------------------
|    P_ID      |     Fakultät    |   andere P Felder
--------------------------------------------------------------
|      1       |      SoWi       |        ....
|      1       |      ReWi       |        ....
|      2       |      NULL       |        ....

Guest

Deleted User
Registered: n/a
Location:
Posts: n/a
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
Avatar
Registered: Dec 2001
Location: ask a ninja
Posts: 872
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....
Kontakt | Unser Forum | Über overclockers.at | Impressum | Datenschutz