我想用2個值連接來自2個連續記錄集的2個值| MySQL的
select c from tmp;
c
foo
bar
2 rows in set (0.00 sec)
返回的數據我需要從表1個的SQL查詢的數據是< FOO,酒吧>
的毗連並沒有這樣做,也沒有任何字符串功能我可以找到。我可以從2行SUM整數。爲什麼我不能檢索字符串值?
我想用2個值連接來自2個連續記錄集的2個值| MySQL的
select c from tmp;
c
foo
bar
2 rows in set (0.00 sec)
返回的數據我需要從表1個的SQL查詢的數據是< FOO,酒吧>
的毗連並沒有這樣做,也沒有任何字符串功能我可以找到。我可以從2行SUM整數。爲什麼我不能檢索字符串值?
您可以使用GROUP_CONCAT()
函數來獲取值。
這都將用逗號
分隔字符串值組合也許你需要在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
。
我假設你正在使用TSQL。但是,如果您使用MYSQL,最好使用'Group_CONCAT()',請指定您的DBMS。 – bonCodigo