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

Seite 1 von 1 - Forum: Coding Stuff auf overclockers.at

URL: https://www.overclockers.at/coding-stuff/mysql_problem_mit_daten_die_auf_mehrere_tabellen_v_76437/page_1 - zur Vollversion wechseln!


flaimo schrieb am 26.04.2003 um 18:20

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       |        ....


schrieb am 26.04.2003 um 18:22

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 schrieb am 27.04.2003 um 00:37

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....




overclockers.at v4.thecommunity
© all rights reserved by overclockers.at 2000-2025