2016-11-11 44 views
0

我有兩個表,我想加入。表1有銷售訂單,但沒有銷售人員的姓名。它只有員工ID。我有table2,它有僱員的名字,employeeID在兩個表之間是共同的。通常,我會使用內部聯接從table2中獲取銷售人員的姓名。問題是,在table2上,每個員工有多個條目。如果他們改變了管理者,或者改變了公司內部的角色,或者也許繼續使用FMLA,它會創建一個新的行。因此,當我加入表格時,由於表格2中存在多個條目,所以會創建重複項目。在我的結果中,銷售會顯示3到4次。當連接表時得到重複

Select 
    a.state_name 
    ,order_number 
    ,a.employeeID 
    ,b.Sales_Rep_Name 
    ,a.order_date 
from 
    table1 as A 

Inner join table2 as B 
On a.employeeid = b.employeeID 

where 
    b.monthperiod = 'November' <-- If I remove this one it adds duplicates 

有沒有辦法讓這些重複?我嘗試了截然不同,但沒有工作。可能因爲行至少有一列不同。當我在表2中添加上個月要求的where子句時,我能夠消除重複項,但是我處於需要所有月份而不僅僅是一個月的情況。我必須手動更改月份才能獲得全年。

任何幫助,將不勝感激。由於

+1

我認爲第二個表有辦法知道哪一行是最近的爲每一位員工。使用該條件 – Lamak

+0

如果您所追求的是他們的名字......您可以將table2更改爲....'(從table2中選擇不同的employeeID,sales_rep_name)作爲B',但是這假定名稱是常量。問題在於你想要顯示出售時的名稱嗎? :P如果是這樣,你需要在order_date之後來自table2的最短日期;使這個更有趣:P我們需要兩個表的表結構來從中找出它...... – xQbert

+0

這是一個好點的xQbert。我正在追蹤銷售人員的姓名和他的經理。我想在出售時包括經理,所以我需要添加table2的最大日期。我應該把它包含在子查詢中嗎? – user7146708

回答

0

使用子查詢來獲得不同的員工記錄列表,然後查詢銷售表

+0

你可以在此擴展嗎? – pancho018