Announcement

Collapse
No announcement yet.

Abfrage mit Infos aus 3 Tabellen

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Abfrage mit Infos aus 3 Tabellen

    Hallo,

    ich habe eine Frage, wie ich bei einer Abfrage aus 3 Tabellen Informationen in aus der dritten Tabelle in die Ausgabe übernehmen kann?

    TABELLE1:
    tab1_id
    tab1_name

    TABELLE2: (Zwischentabelle)
    tab1_id (FK)
    tab3_id (FK)
    tab2_text

    TABELLE3:
    tab3_id
    tab3_vorname
    tab3_nachname

    [highlight=sql]SELECT a.tab1_id,b.tab3_vorname,b.tab3_nachname FROM TABELLE2 a NATURAL JOIN TABELLE3 b WHERE a.tab1_id=(SELECT TABELLE1.tab1_id
    FROM TABELLE1 WHERE TABELLE1.tab1_name='ABC');[/highlight]

    Ziel ist es eine Ausgabe zu machen, die alle Einträge aus Tabelle 2 mit tab1_name und tab3_vorname, tab3_nachname ausgibt. Die Tabelle 2 als Zwischentabelle kann natürlich zu einem Eintrag aus Tabelle 1 mehrere Einträge aus Tabelle 3 zuordnen. Das Problem bei meiner Abfrage ist, dass es zwar alles korrekt macht, jedoch habe ich in der Ausgabe nur die ID Nummer der Einträge aus der Tabelle 1 und nicht wie ich es eigentlich gerne hätte die Namensausgabe aus Tabelle 1 (tab1_name).

    IST-Ergebniss:
    2 | Thomas | Müller

    SOLL:
    ABC | Thomas | Müller

    Ich hoffe es ist verständlich. Wäre toll, wenn mir wer sagen könnte, wie ich das in einer Abfrage unterbringen könnte,

    Danke!

    Stefan
    Zuletzt editiert von thalers; 26.10.2010, 19:41.

  • #2
    Hinweis: Formatierung von SQL in Beiträgen
    Wenn du denkst du hast alle Bugs gefunden, dann ist das ein Bug in deiner Denksoftware.

    Quellcode ohne ein Mindestmaß an Formatierung sehe ich mir nicht an! Ich leiste keinen Privatsupport per Mail oder PN!

    Comment


    • #3
      Lt Deinem select willst Du auch nichts aus Tabelle 1 sehen
      Dein tab1_id kommt aus Tabelle 2

      Comment


      • #4
        Hallo,

        das genau ist ja mein Problem. Sofern ich weiß, darf ich ja im SUB-SELECT nur ein Attribut mit einem Tupel abfragen. Einfach ein Feld wie z.B. TABELLE1.tab1_name im Haupt-SELECT hinzufügen funktioniert nicht. Ich frage mich daher wie ich meine Abfrage gestalten müsste, damit ich den Namen aus Tabelle 1 bekomme...

        Stefan

        Comment


        • #5
          Hallo,

          verwende einfach einen JOIN statt dem Subselect, dann kannst du auch den Namen aus der zweiten Tabelle selektieren.

          Gruß Falk

          P.S.: Muß ich auch immer noch dazu schreiben das zur Formatierung auch sinnvolle Zeilenumbrüche gehören? Man, Man, Man,...
          Wenn du denkst du hast alle Bugs gefunden, dann ist das ein Bug in deiner Denksoftware.

          Quellcode ohne ein Mindestmaß an Formatierung sehe ich mir nicht an! Ich leiste keinen Privatsupport per Mail oder PN!

          Comment

          Working...
          X