用SQL将查询出来的多列的值拼接成一个字符串【转载】

时间:2015-05-29 20:07:06   收藏:0   阅读:172

MySQL中:

[sql] view plaincopyprint?
-- 单列拼接,先查出一行,再加上逗号,接着拼接 查出的下一行  
select group_concat(E.SUPPORT)  
from ENGINES E  
where E.XA IN(YES,NO)  
--结果如下:YES,YES,YES,YES,YES,YES,DEFAULT,YES  
  
  
-- 将查询的结果中的 "," 号,替换成 "**" 号   
select REPLACE(group_concat(E.SUPPORT),,,**)  
from ENGINES E  
where E.XA IN(YES,NO)  
--结果如下:YES**YES**YES**YES**YES**YES**DEFAULT**YES  
  
  
-- 将查询的结果中 重复 的记录 去掉,只剩一条记录,然后再拼接  
select group_concat(DISTINCT(E.SUPPORT))  
from ENGINES E  
where E.XA IN(YES,NO)  
--结果如下:YES,DEFAULT  
  
  
-- 多列拼接,同一行的先拼接,再加上逗号,接着拼接下一行  
select group_concat(E.ENGINE,E.SUPPORT)  
from ENGINES E  
where E.XA IN(YES,NO)  
--结果如下:MRG_MYISAMYES,MyISAMYES,BLACKHOLEYES,CSVYES,MEMORYYES,ARCHIVEYES,InnoDBDEFAULT,PERFORMANCE_SCHEMAYES  

 

原文:http://www.cnblogs.com/allensu/p/4539208.html

评论(0
© 2014 bubuko.com 版权所有 - 联系我们:wmxa8@hotmail.com
打开技术之扣,分享程序人生!