2012-12-19 37 views
4

我想用2個值連接來自2個連續記錄集的2個值| MySQL的

select c from tmp; 

    c 
    foo 
    bar 

2 rows in set (0.00 sec) 

返回的數據我需要從表1個的SQL查詢的數據是< FOO,酒吧>

的毗連並沒有這樣做,也沒有任何字符串功能我可以找到。我可以從2行SUM整數。爲什麼我不能檢索字符串值?

+0

我假設你正在使用TSQL。但是,如果您使用MYSQL,最好使用'Group_CONCAT()',請指定您的DBMS。 – bonCodigo

回答

2

您可以使用GROUP_CONCAT()函數來獲取值。

這都將用逗號

1

分隔字符串值組合也許你需要在MySQL中的group_concat()

注意到您在MYSQL這裏的樣本需要:

* SQLFIDDLE demonstration

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