Ergebnis 1 bis 7 von 7

Thema: 3 Tabellen Verknüpfen

  1. #1
    zoj
    zoj ist offline Neuer Benutzer
    Registriert seit
    31.03.2008
    Beiträge
    2

    Standard 3 Tabellen Verknüpfen

    Hallo,
    ich habe folgendes Problem:

    Ich habe eine Datenbank erstellt, welche 3 Tabellen beinhaltet.

    Tabelle1: Lehrer (ID/VORNAME/NACHNAME)
    Tabelle2: Schueler (ID/VORNAME/NACHNAME)
    Tabelle3: Rel_L_S (ID/ID_lehrer/ID_schueler)

    Ich soll alle Lehrer ausgeben, welche z.B. "Heiko Warneke" unterrichten, der die ID 1 hat.

    Wie krigt man das hin

    Ich habe folgendes probiert:
    SELECT * FROM aufgabe_5_1.rel_l_s where rel_l_s.id_schueler = '1';

    Dabei wird mir die ID der Lehrer angezeigt, die den Schueler mit der ID = 1 unterichten.

    Gesucht sind aber die Namen der Lehrer.

    Ich würde gerne die ganze datenbank posten, weis aber nicht wie ich die Datenbank in eine Text Datei verpack, ich benutze: MySQL Querry Browser.

  2. #2
    akretschmer ist offline Super-Moderator
    Registriert seit
    29.10.2006
    Ort
    Dresden
    Beiträge
    5.472

    Standard

    Zitat Zitat von zoj Beitrag anzeigen
    Hallo,
    ich habe folgendes Problem:

    Ich habe eine Datenbank erstellt, welche 3 Tabellen beinhaltet.

    Tabelle1: Lehrer (ID/VORNAME/NACHNAME)
    Tabelle2: Schueler (ID/VORNAME/NACHNAME)
    Tabelle3: Rel_L_S (ID/ID_lehrer/ID_schueler)

    Ich soll alle Lehrer ausgeben, welche z.B. "Heiko Warneke" unterrichten, der die ID 1 hat.

    Wie krigt man das hin

    Da gibt es, wie so oft, viele Wege. Einfach z.B. via Subselect:

    Code:
    test=*# select * from lehrer ;
     id | vname  |  nname
    ----+--------+---------
      1 | Max    | Lehrer1
      2 | Moritz | Lehrer2
      3 | Oskar  | Lehrer3
    (3 rows)
    
    Time: 1.204 ms
    test=*# select * from schueler;
     id |   vname   |  nname
    ----+-----------+----------
      1 | magdalena | schüler1
      2 | katharina | schüler2
    (2 rows)
    
    Time: 0.964 ms
    test=*# select * from rel_l_s ;
     id | id_lehrer | id_schueler
    ----+-----------+-------------
      1 |         1 |           1
      2 |         2 |           1
      3 |         2 |           2
    (3 rows)
    
    Time: 0.956 ms
    test=*# select l.vname, l.nname from lehrer l where id in (select id_lehrer from rel_l_s where id_schueler = (select id from schueler where vname='magdalena' and nname='schüler1'));
     vname  |  nname
    --------+---------
     Moritz | Lehrer2
     Max    | Lehrer1
    (2 rows)
    Andreas
    --
    ads Das hatte dir akretschmer gestern schon gesagt und siehe da sobald du das machst, funktioniert es ;-)
    https://www.xing.com/profile/Andreas_Kretschmer7

  3. #3
    akretschmer ist offline Super-Moderator
    Registriert seit
    29.10.2006
    Ort
    Dresden
    Beiträge
    5.472

    Standard

    Zitat Zitat von akretschmer Beitrag anzeigen
    Da gibt es, wie so oft, viele Wege. Einfach z.B. via Subselect:
    oder mit einem, bzw. 2 JOINTs (wer drauf steht)

    Code:
    test=*# select l.vname, l.nname from rel_l_s r right join lehrer l on(r.id_lehrer=l.id) right join schueler s on(r.id_schueler=s.id) where s.id=1;
     vname  |  nname
    --------+---------
     Max    | Lehrer1
     Moritz | Lehrer2
    (2 rows)

    Andreas
    --
    ads Das hatte dir akretschmer gestern schon gesagt und siehe da sobald du das machst, funktioniert es ;-)
    https://www.xing.com/profile/Andreas_Kretschmer7

  4. #4
    ads
    ads ist offline Super-Moderator
    Registriert seit
    08.02.2006
    Ort
    MD
    Beiträge
    4.056

    Standard

    Zitat Zitat von zoj Beitrag anzeigen
    ich benutze: MySQL Querry Browser.
    Huch, falsches Forum?

    Abgesehen davon: sind das Hausaufgaben, die du da lösen möchtest?
    Xandrian: Kurz gesagt: Du hast ein falsches Konzept und willst nicht auf ads hören

    Jetzt NEU: PostgreSQL - Datenbankpraxis für Anwender, Administratoren und Entwickler

    PostgreSQL Service & Support

  5. #5
    akretschmer ist offline Super-Moderator
    Registriert seit
    29.10.2006
    Ort
    Dresden
    Beiträge
    5.472

    Standard

    Zitat Zitat von ads Beitrag anzeigen
    Huch, falsches Forum?
    Dachte ich auch schon, aber dagegen spricht, daß er referentielle Beziehungen zwischen 3 Tabellen nutzt *duck*.

    Abgesehen davon: sind das Hausaufgaben, die du da lösen möchtest?
    Offensichtlich...

    Andreas
    --
    ads Das hatte dir akretschmer gestern schon gesagt und siehe da sobald du das machst, funktioniert es ;-)
    https://www.xing.com/profile/Andreas_Kretschmer7

  6. #6
    zoj
    zoj ist offline Neuer Benutzer
    Registriert seit
    31.03.2008
    Beiträge
    2

    Standard

    Zitat Zitat von ads Beitrag anzeigen
    Huch, falsches Forum?

    Abgesehen davon: sind das Hausaufgaben, die du da lösen möchtest?
    Hausaufgaben sind das eigentlich nicht.

    Das ist eine der Aufgaben, die mir Rätsel bereitet.

    Ich danke aber trotztdem für eure Hilfe!

    P.S kann mir vielleicht einer ein Buch empfehlen, wo solch komplizierte Dinge; wie z.B: 3 Tabellen vberknüpfen oder ähnliches erklärt wird?

    Mit freundlichen Grüßen!

  7. #7
    akretschmer ist offline Super-Moderator
    Registriert seit
    29.10.2006
    Ort
    Dresden
    Beiträge
    5.472

    Standard

    Zitat Zitat von zoj Beitrag anzeigen
    H

    P.S kann mir vielleicht einer ein Buch empfehlen, wo solch komplizierte Dinge; wie z.B: 3 Tabellen vberknüpfen oder ähnliches erklärt wird?

    Mit freundlichen Grüßen!
    Guggst Du in meiner del.icio.us - Linksammlung in den passenden Kategorien.

    Andreas
    --
    ads Das hatte dir akretschmer gestern schon gesagt und siehe da sobald du das machst, funktioniert es ;-)
    https://www.xing.com/profile/Andreas_Kretschmer7

Ähnliche Themen

  1. Antworten: 6
    Letzter Beitrag: 23.07.2010, 15:20
  2. 2 Selects verknüpfen
    Von msamesch im Forum SQL
    Antworten: 3
    Letzter Beitrag: 28.10.2009, 12:55
  3. Problem Verknüpfen von Homepage udn Datenbank
    Von KajC im Forum SQL
    Antworten: 1
    Letzter Beitrag: 21.07.2008, 17:40
  4. Antworten: 7
    Letzter Beitrag: 23.01.2008, 21:43
  5. "Group-by" und "max" Funktionen verknüpfen
    Von superguddy777 im Forum SQL
    Antworten: 1
    Letzter Beitrag: 22.08.2007, 08:35

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •  

Links: Tobias Bauer - IT- und Funkdienstleistungen   -   Bilderrahmen-kaufen.de - Der Onlineshop für Bilderrahmen & Fotorahmen   -   Funkforum