Announcement

Collapse
No announcement yet.

Select Abfrage über mehrere unterschiedliche Tabellen

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

  • Select Abfrage über mehrere unterschiedliche Tabellen

    Hallo zusammen,

    ich habe 6Tabellen in einer SQL Datenbank. Diese Tabellen haben unterschiedlich viele Spalten.
    Die Tabellen können z.T. auch leer sein.
    Wie kann man jetzt eine Select-Abfrage über diese 6Tabellen machen?
    Hab schon mit Union probiert, da ist das Problem (kein Ergebnis, obwohl einzelne Tabellen gefüllt), dass die Tabellen unterschiedlich viele Spalten haben. Mit nem CrossJoin oder InnerJoin hab ich das Problem (kein Ergebnis, obwohl einzelne Tabellen gefüllt) wenn einzelne Tabellen leer sind.

    Kann mir jemand helfen?
    micha

  • #2
    UNION ist schon okay, du musst nur schauen, dass die Anzahl der Spalten überall gleich ist, und das geht zB so:

    select feld1, feld2, NULL as feld3, NULL as feld4 from tabelle_1
    union (all)
    select feld1, feld2, feld3, feld4 from tabelle_2
    union (all)
    ...

    Dann müssen natürlich auch die Feldtypen gleich sein, ansonsten musst du CAST() verwenden. Und aufpassen, ob man UNION oder UNION ALL schreibt!

    bye,
    Helmut

    Comment


    • #3
      Hallo Micha,

      wenn es unter den Tabelle Beziehungen gibt und Du die auch so selektieren willst, ist JOIN schon das richtige.
      Cross Join und Inner Join hattest Du ja auch schon genannt und wohl auch versucht; das richtige für den Fall fehlt aber noch: Das Outer Join.
      [highlight=SQL]SELECT *
      FROM VolleTabelle
      LEFT JOIN FastVolleTabelle
      ON ...[/highlight]
      Olaf Helper

      <Blog> <Xing>
      * cogito ergo sum * errare humanum est * quote erat demonstrandum *
      Wenn ich denke, ist das ein Fehler und das beweise ich täglich

      Comment


      • #4
        Danke Euch beiden. Habs jetzt mit einem (Full?)Outer Join gelöst. Hab die Abfrage gerade nicht vormir. Klappt jetzt aber gewünscht :-)

        Micha

        Comment

        Working...
        X