2013-04-30 98 views
0

這已經解決了,我需要在SQL中連接4個表,並將不同表中的2列作爲不同的表。直到現在,我會一直得到重複的行。不同表中的SQL 2列不同

我有4個表,我試圖加入1查詢。

我需要創建一個報告,看起來像:

quoteid | dateEntered | insuredName | admin initials | quoteType | status | last note usertype

​​
+0

鮮明防止重複! – rach 2013-04-30 16:45:34

+1

@ user1848739在這種情況下使用'distinct'就隱藏了問題。 – 2013-04-30 16:46:55

+0

是的,似乎Distinct只是刪除一些重複,但是因爲有4個表也許它只適用於某些? – evade 2013-04-30 16:49:03

回答

1

嘗試像這樣使用Row_Number()使用Partition by這樣的...

Select quoteID,insuredFirstName,insuredLastName,quoteType,status from (SELECT Row_Number() Over(Partition by quoteid ,Name1 order by quoteid) as Row , A.quoteID, A.insuredFirstName, A.insuredLastName, A.quoteType, A.status, B.firstName, B.lastName, left(C.firstName,1) + left(C.lastName,1) as adminInitial, D.userType 
     FROM quotes A 
     INNER JOIN tbl_agents B 
     ON A.createUserID = B.AgentNumber 
     INNER JOIN tbl_admins C 
     ON A.assignedID = C.ID 
     INNER JOIN 
      (SELECT 
       quoteID, userType 
       FROM quote_notes) D 
       ON A.quoteID = D.quoteID) as t where row=1 
+0

當我回到辦公室時,我會給這個星期一〜謝謝 – evade 2013-05-11 16:31:15

+0

如果它工作不要忘記接受作爲答案 – 2013-05-11 17:13:53

+0

當然!感謝所有的幫助 – evade 2013-05-11 17:58:54

2

嘗試移動DISTINCTinner查詢到outside查詢。

+0

在查詢之外移動不同的工作也是如此。謝謝大家!我更新了帖子,陳述了我使用的答案。 – evade 2013-04-30 18:00:58

+0

這讓我瞭解了一半,接受的答案顯示了正確的結果 – evade 2013-05-15 12:23:10