Abfrage - Join

10/10/2007 - 19:20 von Eberhard Ratzel | Report spam
Hallo NG,

irgendwie stehe ich gerade auf dem Schlaucht was folgende Abfrage angeht.

Tabelle Mitarbeiter:
MAID
Name
Vorname

Tabelle Krankheitstage:
MAID
Jahr
Januar
etc.

Ziel soll sein, per Reporting Service (das Jahr ist Reportparameter) die
jeweiligen Krankentage der Mitarbeiter darzustellen.

Mit folgender Abfrage bekomme ich nur jeweils die Mitarbeiter
zurückgeliefert die in der Tabelle Krankheitstage einen Eintrag haben.

SELECT dbo.Mitarbeiter.MAID,
dbo.Krankheitstage.Januar,dbo.Krankheitstage.Jahr
FROM dbo.Person LEFT OUTER JOIN
dbo.Krankheitstage ON dbo.Mitarbeiter.MAID =
dbo.Krankheitstage.MAID
WHERE dbo.Krankheitstage.Jahr = 2007

Gehabt hàtte ich gerne eine Abfrage die mir alle Mitarbeiter zurückliefert,
und bei den Mitarbeitern die keinen Eintrag in der Krankheitstage Tabelle
haben null zurückliefert.

Wenn ich zuerst eine View auf die Tabelle Krankheitstage definiere in dem
ich das entsprechende Jahr selektiere, und anschliessend diese View für die
Auswertung benutze funktioniert es, aber ich kann dann leider im Report
nicht mehr den berichtsparameter verwenden (oder ich weiss vielleicht auch
nicht wie das geht).

Kann mir jemand auf die Sprünge helfen.

Gruß Eberhard
 

Lesen sie die antworten

#1 Josef Poetzl
10/10/2007 - 19:44 | Warnen spam
Hallo!

Eberhard Ratzel schrieb:
SELECT dbo.Mitarbeiter.MAID,
dbo.Krankheitstage.Januar,dbo.Krankheitstage.Jahr
FROM dbo.Person LEFT OUTER JOIN
dbo.Krankheitstage ON dbo.Mitarbeiter.MAID =
dbo.Krankheitstage.MAID
WHERE dbo.Krankheitstage.Jahr = 2007

Gehabt hàtte ich gerne eine Abfrage die mir alle Mitarbeiter zurückliefert,
und bei den Mitarbeitern die keinen Eintrag in der Krankheitstage Tabelle
haben null zurückliefert.



SELECT
...
FROM
dbo.MitarbeiterOderPerson M
LEFT OUTER JOIN
dbo.Krankheitstage K
ON K.MAID = M.MAID AND K.Jahr = 2007


mfg
Josef

Ähnliche fragen