2014-10-31 61 views
0

我正在編寫SQL Server 2012中的代碼以傳輸到Report Builder 3.0的查詢設計器。已添加具有相同密鑰的項目 - SQL Server 2012子查詢問題

我的代碼工作Management Studio中完善,它的工作原理actualy查詢設計器中,但一旦我按查詢設計器中的好,它拋出我的錯誤:

"Could not update a list of fields for the query. Verify that you can connect to the data source and that your query syntax is correct" 

在細節:

"An item with the same key has already been added" 

這是我使用的代碼:我覺得現在的問題

Select * 
from 
(Select distinct srt.Name, 
    percentile_disc(.5) WITHIN GROUP(ORDER BY (sr.price)) OVER(PARTITION BY srt.Name) AS MedianSpend 
    from ServiceReq sr inner join ServiceReqTemplate srt 
    on srt.RecId = sr.SvcReqTmplLink_RecID Where Name like '%') medQuery 
    inner join 

(select distinct srt.Name, 
    cast(sum(sr.price) as int) as AvgCost,cast(sum(sr.cost) as int) as 
    AvgTransCost,cast(avg(sr.TotalTimeSpent) as int) as TotalTimeSpent 
    from ServiceReq sr, ServiceReqTemplate srt 
    where sr.SvcReqTmplLink_RecID = srt.RecId 
    group by srt.Name) avgQuery 
    on medQuery.Name LIKE avgQuery.Name 

是否會有兩個列在一個表中被稱爲「名稱」,這是不允許的。我想我可以在同一個表中添加另一列,並將其稱爲「Name_2」,然後將「Name」表中的所有數據複製並粘貼到「Name_2」中,然後使用它。這是成功在代碼生成器中實現此代碼的最簡單方法嗎?

回答

-1

您將AS Name2添加到第二個查詢,然後在avgQuery結束後調用它。

相關問題