我有我在哪里以列表的形式获取列的值的SQL查询。
Select STUFF((
Select Distinct ',' + QUOTENAME(visit_count)
From arms
Where armId= '@armIdValue'
FOR XML PATH(''), TYPE
).value('.', 'NVARCHAR(MAX)')
,1,1,'')
visit_count
列的值是5,所以我得到结果是这样的:
[1],[2],[3],[4],[5]
我试图把这个查询在MySQL中运行,但它不接受XML。 是否有任何解决方案?
您需要使用group_concat()
select group_concat(concat('[',visit_count,']')
from arms WHERE armId= 12 group by armid
你可以试试下面的查询。
MSSQL:
DECLARE @col nvarchar(MAX);
SELECT @col = COALESCE(@col,'') +'['+visit_count +']'+ ','
From arms Where armId= '@armIdValue'
SELECT @col
MYSQL:
SELECT armId,GROUP_CONCAT(visit_count)
FROM arms Where armId= '@armIdValue'
GROUP BY armId