我正在尝试创建一个报告,但我的查询似乎造成了问题,尽管它在RapidSQL8.5上运行良好。具体错误消息如下:
无法更新查询的字段列表。验证是否可以连接到数据源,以及查询语法是否正确。无效列名“MMTEST%”。 若要继续而不更新字段列表,请单击“确定”。
我的查询如下:
select count(*), No.mm_territorynumber as NO,usr.domainname, usr.systemuserid, usr.fullname, usr.mm_PrimaryTeamIdName as PrimaryTeamName
from systemuser usr WITH (nolock)
inner join dbo.teammembership mem with (nolock) on mem.systemuserid = usr.systemuserid
inner join dbo.team team with (nolock) on team.teamid = mem.teamid and mm_teamcategorycode is not null
inner join BusinessUnit bu WITH (nolock) on usr.BusinessUnitId = bu.BusinessUnitId
inner join BusinessUnit NO WITH (nolock) on NO.BusinessUnitId = bu.mm_GUID
where usr.systemuserid in (
select usr.systemuserid from systemuser usr WITH (nolock)
inner join dbo.teammembership mem with (nolock) on mem.systemuserid = usr.systemuserid
inner join dbo.team team with (nolock) on team.teamid = mem.teamid
and mm_teamcategorycode = '930750004'
where usr.isdisabled = 0
intersect
select usr.systemuserid from systemuser usr WITH (nolock)
inner join dbo.teammembership mem with (nolock) on mem.systemuserid = usr.systemuserid
inner join dbo.team team with (nolock) on team.teamid = mem.teamid
and mm_teamcategorycode = '930750000'
where usr.isdisabled = 0
) and
"MMTEST%" not in (select usr.domainname from systemuser usr) and
--usr.domainname not like "MMTEST%" and
usr.systemuserid = team.AdministratorId -- Only team adminstrators
group by No.mm_territorynumber, usr.domainname, usr.systemuserid, usr.fullname, usr.mm_PrimaryTeamIdName
having count(*) = 2
order by NO.mm_territorynumber, usr.fullname;我已经做了一些研究,以确保我的具体问题没有得到回答。下面是我访问过的一些链接:
could not create a list of fields for the query
http://www.sqlchick.com/entries/2012/2/6/workaround-for-could-not-update-a-list-of-fields-for-the-que.html
有没有某个地方我不小心多次选择了一个列?在回顾了我的代码之后,情况似乎并非如此,但我对SQL也非常陌生,因此可能会出现一些我不理解的控制流问题。任何帮助都将不胜感激。
编辑: MMTEST%似乎是作为一个列创建的,但我不知道为什么会这样。
发布于 2015-07-06 14:45:41
使用单引号而不是双引号过滤出值中的特定单词。
https://stackoverflow.com/questions/31247261
复制相似问题