Nieprawidłowe złączenie SQL

0

Mam problem z SQL-em:

Mam zapytanie:

SELECT DISTINCT 
                      dbo.Unia.EmployeeID AS ID, dbo.Employees.EmployeeName AS [Nazwisko i Imię], dbo.UnixToDateTime(dbo.Unia.Date) AS Data, 
                      dbo.GetDayName(dbo.Unia.Date, NULL) AS [Dzień Tygodnia], CASE WHEN [Present] = 1 AND [code] IS NULL THEN 'obecny' END AS Obecność, 
                      dbo.LeaveTypes.code AS Nieobecność, dbo.DeptsTypes.Name AS Dział, dbo.DeptsTypes.ID AS ID_Działu, dbo.PositionTypes.Name AS Stanowisko, 
                      dbo.PositionTypes.ID AS ID_Stanowiska
FROM         dbo.Unia LEFT OUTER JOIN
                      dbo.Events ON dbo.Unia.EmployeeID = dbo.Events.EmployeeID AND dbo.Unia.Date = dbo.Events.Date LEFT OUTER JOIN
                      dbo.PositionTypes RIGHT OUTER JOIN
                      dbo.PositionSet ON dbo.PositionTypes.ID = dbo.PositionSet.PositionID ON dbo.Unia.EmployeeID = dbo.PositionSet.EmployeeID LEFT OUTER JOIN
                      dbo.DeptsSet LEFT OUTER JOIN
                      dbo.DeptsTypes ON dbo.DeptsSet.DeptsID = dbo.DeptsTypes.ID ON dbo.Unia.EmployeeID = dbo.DeptsSet.EmployeeID LEFT OUTER JOIN
                      dbo.Employees ON dbo.Unia.EmployeeID = dbo.Employees.EmployeeID LEFT OUTER JOIN
                      dbo.LeaveTypes RIGHT OUTER JOIN
                      dbo.Leave ON dbo.LeaveTypes.ID = dbo.Leave.Type ON dbo.Unia.EmployeeID = dbo.Leave.EmployeeID AND dbo.Unia.Date = dbo.Leave.Date
WHERE     (dbo.Employees.EmployeeName <> ' ')

Zwraca mi wynik jak poniżej:

ID Nazwisko i Imię Data Dzień Tygodnia Obecność Nieobecność Dział ID_Działu Stanowisko ID_Stanowiska
10100033 Dąb Andrzej 2013-11-25 poniedziałek NULL UW Z8 7 Dyrektor 1
10100033 Dąb Andrzej 2013-11-25 poniedziałek obecny NULL Z8 7 Dyrektor 1
10910208 Pierz Tomasz 2013-11-25 poniedziałek obecny NULL Z8 7 NULL NULL

Chciałbym połączyć wiersz pierwszy i drugi w ten sposób że jak są takie same zdarzenia ale jedno z obecnością a drugie z nieobecnością to po złączeniu mam tylko to z z symbolem nieobecności.

Czyli powinno to wyglądać tak:

ID Nazwisko i Imię Data Dzień Tygodnia Obecność Nieobecność Dział ID_Działu Stanowisko ID_Stan
10100033 Dąb Andrzej 2013-11-25 poniedziałek NULL UW Z8 7 Dyrektor 1
10910208 Pierz Tomasz 2013-11-25 poniedziałek obecny NULL Z8 7 NULL NULL

0

Musisz złączyć swój wynik jeszcze raz z tabelą z obecnościami i dać potem warunek where który odfiltruje ci to tak jak chcesz.

1 użytkowników online, w tym zalogowanych: 0, gości: 1