Announcement

Collapse
No announcement yet.

Join über 2 Tabellen

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

  • Join über 2 Tabellen

    Hi,
    ich habe zwei Tabellen, einmal die Tabelle Template und die Tabelle Artikel.

    Ich möchte jetzt ein Inner Join machen sodass immer die Daten aus Template ausgegeben werden, auch wenn kein zugehöriger Datensatz in Artikel besteht.

    Soweit so gut... dachte ich.

    Ein einfaches Left Join funktioniert auch, jedoch habe ich das Problem, dass ich aus Artikel nur Datensätze mit einer bestimmten ID haben möchte und aus Template ebenfalls nur mit einer bestimmten ID.

    Wenn ich jedoch die where Bedingung erweitere um and `article`.`article_articlemainid` = 309 verschwinden alle Datensätze in denen vorher, dank left join, NULL stand und angezeigt wurden........ das ganze ist eigentlich auch logisch, allerdings finde ich keine Lösung wie ich es beser machen könnte.

    Hat jemand noch ne Idee, bzw. könnt ihr mein Problem nachvollziehen?

    Danke!
    Carsten

    SELECT
    `template`.`template_templatemainid`,
    `template`.`template_reference`,
    `template`.`template_size`,
    `template`.`template_required`,
    `template`.`template_type`,
    `article`.`article_value`,
    `article`.`article_articlemainid`
    FROM
    `template`
    left join `article` ON `article`.`article_templateid` = `template`.`template_id`
    where
    `template`.`template_templatemainid` = '20'

  • #2
    Das ist kein inner join sondern ein outer join.

    Comment


    • #3
      Hallo Markus,
      danke für deine Hilfe, so klappt es.

      SELECT
      `template`.`template_templatemainid`,
      `template`.`template_reference`,
      `template`.`template_size`,
      `template`.`template_required`,
      `template`.`template_type`,
      `article`.`article_value`,
      `article`.`article_articlemainid`
      FROM
      `template`
      Left OUTER Join `article` ON `article`.`article_templateid` = `template`.`template_id` and `article`.`article_articlemainid` = 311
      where
      `template`.`template_templatemainid` = '20'


      Gruß
      Carsten
      Zuletzt editiert von CarstenK.; 30.04.2007, 11:36.

      Comment

      Working...
      X