Information ausblenden
Willkommen im Forum für alle Datenbanken! Registriere Dich kostenlos und diskutiere über DBs wie Mysql, MariaDB, Oracle, Sql-Server, Postgres, Access uvm

Ergebnis aus 2 Abfragen nebeneinander

Dieses Thema im Forum "Microsoft SQL Server" wurde erstellt von ms1968, 14 September 2021 um 19:02 Uhr.

  1. ms1968

    ms1968 Neuer Benutzer

    Hallo zusammen,

    ich habe 2 Tabellen, die ich gerne nebeneinander darstellen möchte.
    Mit den beiden Abfragen ermittle ich die Anzahl der einzelnen Abkürzungen.
    Um eine Urlaubsquote zu ermitteln, möchte ich aus beiden Abfragen das Ergebnis nebeneinander darstellen.
    Wie kann ich diese beiden Abfragen miteinander "Verbinden", damit ich das Ergebnis hinbekomme? Oder ist dies nicht machbar?


    Code:
    SELECT COUNT(dbo.tbl_Bereiche.Abkürzung) AS AnzahlGesamt, dbo.tbl_Bereiche.Abkürzung
    FROM dbo.tbl_Bereiche INNER JOIN dbo.tbl_Mitarbeiter ON dbo.tbl_Bereiche.PKID = dbo.tbl_Mitarbeiter.Bereich
    GROUP BY dbo.tbl_Bereiche.Abkürzung
    Ergebnis:
    Abkürzung AnzahlGesamt
    Di | 2
    F | 33
    Fl | 3
    K | 29
    LC | 2
    LV | 3
    S | 106
    SF | 2
    VW | 20
    ZBV | 2


    Code:
    SELECT dbo.tbl_Bereiche.Abkürzung, COUNT(dbo.tbl_Bereiche.Abkürzung) AS AnzahlErmittelt
    FROM dbo.tbl_Bereiche INNER JOIN dbo.Urlaubsplan ON dbo.tbl_Bereiche.Abkürzung = dbo.Urlaubsplan.FehlgrundID
    GROUP BY dbo.tbl_Bereiche.Abkürzung
    Ergebnis:
    Abkürzung | AnzahlErmittelt
    K | 26
    S | 16
    SF | 2
    VW | 20




    Wunschergebnis:
    Abkürzung AnzahlGesamt AnzahlErmittelt
    Di | 2
    F | 33
    Fl | 3
    K | 29 | 26
    LC | 2
    LV | 3
    S | 106 | 16
    SF | 2 | 2
    VW | 20 | 20
    ZBV | 2
     
  2. akretschmer

    akretschmer Datenbank-Guru

    du suchst einen JOIN, die Spalte Abkürzung böte sich offensichtlich an. Have fun!
     
  3. ms1968

    ms1968 Neuer Benutzer

    Hallo,
    ich habe das jetzt mit der InnerJoin Abfrage gelöst.
    Jedoch hätte ich gerne, wenn möglich, alle Einträge aus der Tabelle tbl_Bereiche angezeigt, auch wenn kein Eintrag im Urlaubsplan ermittelt wurde.
    So bekomme ich nur die Abkürzungen angezeigt, die in beiden Tabellen sind.
    Code:
    SELECT        dbo.Urlaubsplan.Datum, dbo.tbl_Bereiche.Abkürzung, dbo.View_UrlaubsplanQuoteErmittelnMitarbeiter.AnzahlGesamt, COUNT(dbo.tbl_Bereiche.Abkürzung) AS AnzahlAusfall
    FROM            dbo.View_UrlaubsplanQuoteErmittelnMitarbeiter INNER JOIN
                             dbo.tbl_Bereiche ON dbo.View_UrlaubsplanQuoteErmittelnMitarbeiter.Abteilung = dbo.tbl_Bereiche.Abkürzung INNER JOIN
                             dbo.tbl_Mitarbeiter INNER JOIN
                             dbo.Urlaubsplan ON dbo.tbl_Mitarbeiter.PKID = dbo.Urlaubsplan.MitarbeiterID ON dbo.tbl_Bereiche.PKID = dbo.tbl_Mitarbeiter.Bereich
    GROUP BY dbo.Urlaubsplan.Datum, dbo.tbl_Bereiche.Abkürzung, dbo.View_UrlaubsplanQuoteErmittelnMitarbeiter.AnzahlGesamt
    HAVING        (dbo.Urlaubsplan.Datum = CONVERT(DATETIME, '2021-09-15 00:00:00', 102))
    Ergebnis:
    Datum | Abkürzung | AnzahlGesamt | Anzahl Ausfall
    2021-09-15 | VW | 11 | 1
    2021-09-15 | K | 13 | 3
    2021-09-15 | S | 28 | 1
     
  4. dabadepdu

    dabadepdu Datenbank-Guru

    Es gibt noch mehr Join Formen. Z.B. LEFT [OUTER] JOIN und RIGHT [OUTER] JOIN ..
     
  5. ms1968

    ms1968 Neuer Benutzer

    Hallo,

    ich habe nun alle Join Formen durch, aber bei keiner bekomme ich das Wunsch-Ergebnis hin.
    Ich bekomme immer nur die Anzahl der Abkürzungen, die in beiden Tabellen vorhanden sind angezeigt.
     
Die Seite wird geladen...

Diese Seite empfehlen

  1. Diese Seite verwendet Cookies. Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies.
    Information ausblenden