2013-05-07 99 views
0

我查詢從WIP和Employee表數據:在此SQL查詢中添加新列?

WIP ID,姓名

員工 ID,姓名,Orgnization

加入兩個我可以查詢:

select w.ID,e.Organization,w.ConsultantName,e.OrganizationID, w.ConsultantID 
from vwWIPRecords w 
inner join vwEmployees e on w.ConsultantID=e.ID; 

Resutls:

1 VHAA Web User 1 1 
2 VHAA NZ RP  1 3 
3 VHAA Ghom Mure 1 2 
4 VHAA Ghom Mure 1 2 

需求量的:

查詢通過e.Organization和e.ConsultantName添加花葯列,這將串聯和組,但它會只對第一個唯一的記錄。對於下一個(名稱和組織相同),它不會顯示任何內容。本專欄將展示一家公司的獨特顧問。請參閱第二個例子中的記錄編號3和4。

1 VHAAWeb User 1 1 
2 VHAANZ RP  1 3 
3 VHAAGhom Mure 1 2 
4     1 2 

非常感謝您的幫助

+0

什麼是造成您困難的部分? – 2013-05-07 23:44:47

+0

@DanBracuk我沒有意義如何解決這個問題?你能否請幫助 – user576510 2013-05-07 23:45:51

+0

@DanBracuk我無法理解如何獲得第一個獨特的邏輯,並避免接下來的相同組合。 – user576510 2013-05-07 23:47:13

回答

1

這裏是一個開始。最後一列是一個標誌,表示該行應該是空白的。讓我知道如果這對你有用,並且我可以進一步幫助。

select w.ID,e.Organization, w.ConsultantName, 
e.OrganizationID, w.ConsultantID, CASE WHEN D.Dup > 1 AND D.ID <> w.ID THEN 'Y' 
ELSE 'N' END As HideMe 
from vwWIPRecords w 
inner join vwEmployees e on w.ConsultantID=e.ID 
inner join 
(
    select MIN(w.ID) As ID, e.Organization,w.ConsultantName, 
    e.OrganizationID, w.ConsultantID, COUNT(*) AS Dup 
    from vwWIPRecords w 
    inner join vwEmployees e on w.ConsultantID=e.ID 
) D 
ON D.Organization = w.Organization 
AND D.ConsultantName = w.ConsultantName 
AND D.OrganizationID = w.OrganizationID 
AND D.ConsultantID = w.ConsultantID 
+0

感謝您的時間,但這不是我要求的。我不想查詢不同的記錄。相反,我想要查詢所有記錄,但只是在新列中想要連接兩列,並且如果可以有多個相同的組合,則只有第一個列會按newcolumn顯示一組。 – user576510 2013-05-08 00:18:33

+1

我改變了我的答案 - 看看它是否有幫助。 – 2013-05-08 00:32:36