连接2个连续记录集中的2个值MySQL的

时间:2012-12-19 06:59:06

标签: mysql sql string concat

我想从具有2个值

的表的1个SQL查询中获取数据
 select c from tmp;

    c 
   foo  
   bar 

2 rows in set (0.00 sec)

我需要的返回数据是< foo,bar>

Concat不会这样做,我也找不到任何字符串函数。我可以从2行SUM整数。为什么我不能同样检索字符串值?

2 个答案:

答案 0 :(得分:2)

您可以使用GROUP_CONCAT()函数一起获取值。

这将组合以逗号分隔的所有字符串值

答案 1 :(得分: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