0

我正在尝试根据人员的工作从我的数据库中的表中提取信息。在一张表中,我有所有客户信息,在另一张表中,通过 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 两次,因为他被记录为在 2 个不同的分支机构工作

4

1 回答 1

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'
于 2013-09-26T10:02:49.763 回答