0
Ich versuche, alle Mitarbeiter in meiner Datenbank, die eine bestimmte Fähigkeit, wie z. B. Sanitär haben. Wenn ich die folgende Abfrage mache, bekomme ich die Daten, die ich will, aber es zeigt diesen Angestellten mehr als einmal an.Reduzieren mehrerer Zeilen in einzelne Zeilen
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
*/
einige der Tabellen können eine Eins-Viele-Beziehung haben. Verwenden Sie "distinct", um eindeutige Zeilen zu erhalten. –
Mögliches Duplikat von [Get top 1 row jeder Gruppe] (http://stackoverflow.com/questions/6841605/get-top-1-row-of-each-group) –
Wie wird meine Frage abgelehnt? –