我正在尝试根据人员工作从数据库中的表中提取信息。在一个表中,我有所有客户信息,在另一个表中由ID_no链接他们的职位和他们关联的分支。我遇到的问题是当我加入两个表时我会返回一些重复项,因为一个人可以与多个分支相关联。
我想知道如何只返回重复的值一次,因为我现在关心的是人员ID号和他们的职称是什么。
SELECT *
FROM dbo.employeeinfo AS ll
LEFT OUTER JOIN employeeJob AS lly
ON ll.id_no = lly.id_no
WHERE lly.job_category = 'cle'
我知道Select Distinct在这种情况下不起作用,因为重复的值会返回不同的分支。 任何帮助,将不胜感激。感谢
我正在使用sql server 2008
*编辑以显示我想要的结果
------ ll. ll. lly. lly.
rec_ID --employeeID---Name-----JobTitle---Branch------
1 JX100 John cle london
2 JX100 John cle manchester
3 JX690 Matt 89899 london
4 JX760 Steve 12345 london
我希望第二条记录不显示,因为我对分支不感兴趣。我只需要知道员工ID和他的职位,但由于表格的结构如何,它会两次返回JX100,因为他被记录为在两个不同的分支机构工作
答案 0 :(得分:1)
您必须使用SELECT DISTINCT并指定您只需要人员ID号和职位。
我不确切知道你的字段名称,但我认为这样的事情可以起作用。
SELECT DISTINCT ll.id_no AS person_id_number,
lly.job AS person_job
FROM dbo.employeeinfo AS ll LEFT OUTER JOIN
employeeJob AS lly ON ll.id_no = lly.id_no
WHERE lly.job_category = 'cle'