我想从具有2个值
的表的1个SQL查询中获取数据 select c from tmp;
c
foo
bar
2 rows in set (0.00 sec)
我需要的返回数据是< foo,bar>
Concat不会这样做,我也找不到任何字符串函数。我可以从2行SUM整数。为什么我不能同样检索字符串值?
答案 0 :(得分:2)
您可以使用GROUP_CONCAT()
函数一起获取值。
这将组合以逗号分隔的所有字符串值
答案 1 :(得分:1)
也许你需要在MYSQL中使用group_concat()
。
注意到你在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
。