我的查詢顯示名爲「Anna」,「Szymkowiak」和這個相同的「id」的兩個人,但這是同一個人。我怎麼總結這個?例如:ID爲 「80」, 「安娜」, 「Szymkowiak」, 「23」,2 - > 23月20 + 3和2的總和Aneks 1的總和加上1和數據選擇 - 與此同一個id的兩個人
SELECT DISTINCT SBA.HRSystemId AS Id, SBA.FirstName, SBA.Surname,
CASE WHEN SBA.EndDate < GETDATE()
THEN DATEDIFF(MONTH,SBA.StartDate,SBA.EndDate)
ELSE DATEDIFF(MONTH,SBA.StartDate, GETDATE())
END AS Miesiace_Przepracowane,
MAX(SBC.ContractNumber) AS Aneks
FROM SB_Applications SBA JOIN SB_Contracts SBC ON SBA.ApplicationId = SBC.ApplicationId
WHERE SBA.IsActiveYN = 1 AND SBA.HRSystemId != 0 AND SBC.ApplicationStatusId = 4
GROUP BY SBA.FirstName, SBA.Surname,SBA.StartDate,SBA.EndDate,SBA.StartDate,SBA.HRSystemId,SBC.ContractNumber;
和我這樣的:
id |FirstName|Surname|Miesiace_Przepracowane|Aneks
80, Anna, Szymkowiak, 20, 1
80, Anna, Szymkowiak, 3, 1
91, Jack, Sparrow, 2, 1
92, Tom, Jones, 1, 1
100, Rocky, Balboa, 3, 0
這個例子不起作用
感謝您的幫助的同事,這是很好的鍛鍊,我:)我給你點幫助。
這個例子沒有在我的更新工作後看 –
由於Aneks可以改變,那麼你從刪除外面的組通過並選擇MAX(Anex),而不是 – RichardTheKiwi