【发布时间】:2014-10-31 16:19:15
【问题描述】:
我正在 SQL Server 2012 中编写代码以转移到 Report Builder 3.0 的查询设计器中。
我的代码在 Management Studio 中运行良好,并且在实际查询设计器中运行,但是一旦我在查询设计器中按 Okay,它就会向我抛出错误:
"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”中,然后使用它。这是成功将此代码实施到报表生成器中的最简单方法吗?
【问题讨论】:
标签: mysql sql-server reporting-services reporting