我想从具有 2 个值的表的 1 个 SQL 查询中获取数据
select c from tmp;
c
foo
bar
2 rows in set (0.00 sec)
我需要的返回数据是 <foo,bar>
Concat 不这样做,我也找不到任何字符串函数。我可以对 2 行中的整数求和。为什么我不能同样检索字符串值?
您可以使用GROUP_CONCAT()
函数来获取值。
这将组合用逗号分隔的所有字符串值
也许你需要一个group_concat()
在 MYSQL 中的。
注意到您在 MYSQL 中需要一个示例:
Select department, group_concat(name,',') as nameList
from foo
group by department
;
结果:
Department NameList
D1 John, Mary
D2 Tim, Dan, Jack
D3 Kate, Felix
以下是在 TSQL 中使用的方法:
您可以尝试以下示例代码并针对您的表格/列进行调整:
SELECT department, namelist = STUFF(
(SELECT ','+ Name FROM foo B
WHERE b.department = a.department FOR XML PATH('')) , 1 , 1 , '' )
FROM foo A
否则你可以做一个CTE
.