michapro: Select / Join

Hallo!

Ich habe folgende Tabellenstruktur

Tabelle: TB1
PK   Art_Nr        int
     Kurztext      varchar
     Langtext      varchar
     Lagerort      varchar

Tabelle: TB2
PK   Art_Nr   int
     Tech_Daten    varchar
     Beschreibung  varchar
     Farbe         varchar
     Anzahl        int

Tabelle: TB3
PK   Art_Nr        int
PK   Untergruppe   varchar

Gegeben ist eine Untergruppe aus TB3, ich möchte jetzt
jetzt folgende Sachen ausgeben. (Eine Untergruppe hat mehrere Art_Nr.)

TB1.Kruztext, TB2.Tech_Daten, TB2.Beschreibung

Kann mir jeman helfen?

Michapro

  1. Jop,
    SELECT TB1.Kruztext, TB2.Tech_Daten, TB2.Beschreibung
    FROM TB3
    INNER JOIN TB2 ON TB2 ON TB2.Art_Nr = TB3.Art_Nr
    INNER JOIN TB1 ON TB2 ON TB2.Art_Nr = TB1.Art_Nr
    WHERE TB·.Untergruppe = "Untergruppe"

    Die Tabellestruktur scheint mir aber unoptimal da TB1 und TB2 zu einer Tabelle zusammengefasst werden koennten.
    gruss aus mexico
    uli

    1. Der Vorschlag lief nicht. Ich habe es jetzt so probiert.
      Wenn die Art_Nr. im TB2 nicht vorhanden ist, wird der Kurztext aus TB1 auch nicht angezeigt.

      SELECT TB1.Kurztext, TB2.Tech_Daten, TB2.Beschreibung
       FROM TB3
       INNER JOIN TB1 ON TB1.Art_Nr = TB3.Art_Nr
       INNER JOIN TB2 ON TB2.Art_Nr = TB3.Art_Nr
       WHERE TB3.Untergruppe = "Untergruppe"

      1. Wie wärs vielleicht wenn Du mal in die MySQL Doku schauen würdest...
        Nimm halt einen LEFT JOIN anstatt dem inner join dann wirst den Text auch sehen.

        SELECT TB1.Kurztext, TB2.Tech_Daten, TB2.Beschreibung
         FROM TB3

        LEFT JOIN TB1 ON TB1.Art_Nr = TB3.Art_Nr
        LEFT JOIN TB2 ON TB2.Art_Nr = TB3.Art_Nr

        WHERE TB3.Untergruppe = "Untergruppe"

        Ein bischen eigeninitiative sollte man schon bringen,
        Uli