none
Wie kann ich aus zwei Tabellen kombinierte Ausgaben machen? RRS feed

  • Frage

  • Hallo,

    ich habe zwei Tabellen Benutzer und Tarife.

    Jeder Benutzer kann in der Tabelle Tarife mehrere Einträge haben.

    Ich möchte jetzt folgende Ausgabe haben:

    jede Zeile der Ausgabe soll Vorname und Nachname aus der Tabelle Benutzer, die den Status aktiv haben gefolgt von TarifID und Wochenstunden und Urlaubstage aus aus der Tabelle Tarife, die dem Benutzer zugeordnet sind beinhalten.

    Beispiel:

    Mark, Hoffmann, 3, 48, 28

    Mark, Hoffmann, 5, 35, 24

    Michael, Kristel, , , (Tabelle Tarife hat keine Einträge für den Benutzer)

    Sascha Simon, , ,  (Tabelle Tarife hat keine Einträge für den Benutzer)

    Simon, Kimono, 3, 48, 28

    Wie man im Beispiel sehen kann, möchte ich die Benutzer, denen keine Tarife zugeordnet sind auch einamal aufgelistet bekommen.

    Weiß aber nicht so genau wie ich das machen soll!

    Wäre dankbar, wenn jemand mir dabei weiterhelfen könnte!


    Gruesse, NUNUI


    • Bearbeitet Nunui Donnerstag, 2. Februar 2017 00:46
    Donnerstag, 2. Februar 2017 00:43

Antworten

  • Hallo,

    bitte poste immer das Tabellen Design als DDL, ein paar Beispieldaten als DML Statement und das erwartete Ergebnis, sonst ist es für uns andere eher Rätselraten.

    Wenn es in einer Tabelle Datensätze ohne Referenz zu einer zweiten Tabelle gibt, kann man ein OUTER JOIN verwenden, um trotzdem alle Datensätze zu erhalten, siehe Verwenden von äußeren Joins

    Eine Beispielabfrage sieht dann so aus:

    SELECT B.Vorname, B.Nachname, T.TarifId, T.Wochenstunden
    FROM dbo.Benutzer AS B
         LEFT OUTER JOIN
         dbo.Tarife AS T
             ON B.BenutzerId = T.BenutzerId
    WHERE B.Status = 1


    Olaf Helper

    [ Blog] [ Xing] [ MVP]

    • Als Antwort vorgeschlagen Christoph Muthmann Donnerstag, 2. Februar 2017 07:58
    • Als Antwort markiert Nunui Donnerstag, 2. Februar 2017 08:17
    Donnerstag, 2. Februar 2017 04:33

Alle Antworten

  • Hallo,

    bitte poste immer das Tabellen Design als DDL, ein paar Beispieldaten als DML Statement und das erwartete Ergebnis, sonst ist es für uns andere eher Rätselraten.

    Wenn es in einer Tabelle Datensätze ohne Referenz zu einer zweiten Tabelle gibt, kann man ein OUTER JOIN verwenden, um trotzdem alle Datensätze zu erhalten, siehe Verwenden von äußeren Joins

    Eine Beispielabfrage sieht dann so aus:

    SELECT B.Vorname, B.Nachname, T.TarifId, T.Wochenstunden
    FROM dbo.Benutzer AS B
         LEFT OUTER JOIN
         dbo.Tarife AS T
             ON B.BenutzerId = T.BenutzerId
    WHERE B.Status = 1


    Olaf Helper

    [ Blog] [ Xing] [ MVP]

    • Als Antwort vorgeschlagen Christoph Muthmann Donnerstag, 2. Februar 2017 07:58
    • Als Antwort markiert Nunui Donnerstag, 2. Februar 2017 08:17
    Donnerstag, 2. Februar 2017 04:33
  • Super!!! Genau das habe ich gesucht, DANKE!!!


    Gruesse, NUNUI

    Donnerstag, 2. Februar 2017 08:17