我想选择列TeamProjectProjectNodeName
&来自内部子查询的TestPlanName
。内部查询在从视图中获取结果时运行完全正常。但是当我按如下所示运行整个查询时,我得到以下错误 -
')'附近的语法不正确。
请帮助我。
这是我的查询 -
select
x.TeamProjectProjectNodeName, x.TestPlanName
from
(select
TeamProjectProjectNodeName, TestPlanName,ResultOutcome, count(ResultOutcome)
from [Tfs_Warehouse].[dbo].[TestResultView]
where TestPlanName <> 'NULL'
GROUP BY TeamProjectProjectNodeName, TestPlanName, ResultOutcome
order by TeamProjectProjectNodeName asc, TestPlanName asc) x
感谢。
答案 0 :(得分:4)
从子查询中提取订单,并将count列命名为:
select
x.TeamProjectProjectNodeName,
x.TestPlanName,
x.Total
from (select
TeamProjectProjectNodeName,
TestPlanName,
ResultOutcome,
count(*) as Total
from [Tfs_Warehouse].[dbo].[TestResultView]
where TestPlanName IS NOT NULL
GROUP BY TeamProjectProjectNodeName, TestPlanName, ResultOutcome
) x
order by TeamProjectProjectNodeName asc, TestPlanName asc
我已将WHERE
语法更改为IS NOT NULL
,正如@bluefeet建议的那样,因为我认为这是您实际需要的。
答案 1 :(得分:1)
你走了:
select x.TeamProjectProjectNodeName,x.TestPlanName
from (select top 100 percent TeamProjectProjectNodeName,TestPlanName,ResultOutcome, count(ResultOutcome) SomeAlias from [Tfs_Warehouse].[dbo].[TestResultView]
where TestPlanName <> 'NULL'
GROUP BY TeamProjectProjectNodeName, TestPlanName, ResultOutcome
order by TeamProjectProjectNodeName asc, TestPlanName asc) x
除非您指定top并且count()应该有别名,否则您的内部选择中不能有订单。
答案 2 :(得分:0)
我建议您为count()
一个别名和group by
汇总函数以避免错误
select x.TeamProjectProjectNodeName,x.TestPlanName
from (select TeamProjectProjectNodeName,TestPlanName,ResultOutcome, count(ResultOutcome) as total from [Tfs_Warehouse].[dbo].[TestResultView]
where TestPlanName <> 'NULL'
GROUP BY TeamProjectProjectNodeName, TestPlanName, ResultOutcome) x