Sql server 由于导致聚合错误而导致具有组的XML路径子查询
我有下面的查询,我真的被困在如何返回结果和避免下面的错误上 味精144,15级,状态1,第40行 无法在group by子句的group by列表所用的表达式中使用聚合或子查询Sql server 由于导致聚合错误而导致具有组的XML路径子查询,sql-server,tsql,Sql Server,Tsql,我有下面的查询,我真的被困在如何返回结果和避免下面的错误上 味精144,15级,状态1,第40行 无法在group by子句的group by列表所用的表达式中使用聚合或子查询 您可以使用子查询/cte: WITH cte AS ( SELECT Stuff((SELECT ', ' + typename FROM visittype VD LEFT JOIN lookup.type D
您可以使用子查询/cte:
WITH cte AS (
SELECT Stuff((SELECT ', ' + typename
FROM visittype VD
LEFT JOIN lookup.type D
ON VD.typeid = D.typeid
WHERE visitid = V.visitid
ORDER BY D.typename
FOR xml path(''), type).value('text()[1]', 'NVARCHAR(MAX)'), 1, 1,
N'') AS Value1
FROM visit V
WHERE V.startdate >= '2018-03-31 14:00:00.0000000 +00:00'
AND V.enddate <= '2018-06-30 13:59:59.9990000 +00:00'
)
SELECT Value1, COUNT(*) AS Value2
FROM cte
GROUP BY Value1;
WITH cte AS (
SELECT Stuff((SELECT ', ' + typename
FROM visittype VD
LEFT JOIN lookup.type D
ON VD.typeid = D.typeid
WHERE visitid = V.visitid
ORDER BY D.typename
FOR xml path(''), type).value('text()[1]', 'NVARCHAR(MAX)'), 1, 1,
N'') AS Value1
FROM visit V
WHERE V.startdate >= '2018-03-31 14:00:00.0000000 +00:00'
AND V.enddate <= '2018-06-30 13:59:59.9990000 +00:00'
)
SELECT Value1, COUNT(*) AS Value2
FROM cte
GROUP BY Value1;