Ergebnis aus 2 Abfragen nebeneinander

ms1968

Benutzer
Beiträge
5
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
 
Werbung:

ms1968

Benutzer
Beiträge
5
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
 

ms1968

Benutzer
Beiträge
5
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.
 

akretschmer

Datenbank-Guru
Beiträge
9.028
ich habe nun alle Join Formen durch, aber bei keiner bekomme ich das Wunsch-Ergebnis hin.

Wirklich?

Code:
edb=*# select * from t1;
  a  |  i  
-----+-----
 di  |   2
 f   |  33
 fi  |   3
 k   |  29
 lc  |   2
 lv  |   3
 s   | 106
 sf  |   2
 vw  |  20
 zbv |   2
(10 rows)

edb=*# select * from t2;
 a  | i  
----+----
 k  | 26
 s  | 26
 sf |  2
 vw | 20
(4 rows)

edb=*# select t1.a, t1.i, t2.i from t1 left join t2 on t1.a=t2.a;
  a  |  i  | i  
-----+-----+----
 di  |   2 |   
 f   |  33 |   
 fi  |   3 |   
 k   |  29 | 26
 lc  |   2 |   
 lv  |   3 |   
 s   | 106 | 26
 sf  |   2 |  2
 vw  |  20 | 20
 zbv |   2 |   
(10 rows)

edb=*#

Ich bin jetzt vom Ergebniss Deiner zwei Abfragen aus #1 ausgegangen, da die Ausgangstabellen ja geheim sind.
 
Werbung:
Oben