0
我試圖讓我的數據庫中的所有員工具有某種技能,例如管道工。當我執行以下查詢時,我正在獲取我想要的數據,但它多次顯示該員工。將多行減少爲單行
SELECT
TE.intEmployeeID
,TE.strLastName + ', ' + TE.strFirstName AS strEmployeeName
,CONVERT (VARCHAR, TE.dteHireDate, 101) AS dteHireDate
,TES.intSkillID
,TS.strSkills
FROM
TEmployees AS TE
,TEmployeeSkills AS TES
,TSkills AS TS
,TJobEmployees AS TJE
WHERE
TE.intEmployeeID = TJE.intEmployeeID
AND TS.intSkillID = TES.intSkillID
AND TES.intEmployeeID = TE.intEmployeeID
AND TES.intEmployeeID = TJE.intEmployeeID
AND TES.intSkillID = 6
/*
What I am getting:
intEmployeeID strEmployeeName dteHireDate intSkillID strSkills
2 Quagmire, Glen 06/10/2012 6 Plumbing
4 Cage, Luke 01/10/2012 6 Plumbing
4 Cage, Luke 01/10/2012 6 Plumbing
2 Quagmire, Glen 06/10/2012 6 Plumbing
2 Quagmire, Glen 06/10/2012 6 Plumbing
4 Cage, Luke 01/10/2012 6 Plumbing
What I need:
intEmployeeID strEmployeeName dteHireDate intSkillID strSkills
2 Quagmire, Glen 06/10/2012 6 Plumbing
4 Cage, Luke 01/10/2012 6 Plumbing
*/
某些表格可能有一對多的關係。使用'distinct'來獲得唯一的行。 –
可能重複的[獲得每組最高1行](http://stackoverflow.com/questions/6841605/get-top-1-row-of-each-group) –
我的問題如何被投票? –