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

MySQL中:

[sql]
  1. — 单列拼接,先查出一行,再加上逗号,接着拼接 查出的下一行
  2. select group_concat(E.SUPPORT)
  3. from ENGINES E
  4. where E.XA IN(‘YES’,’NO’)
  5. –结果如下:YES,YES,YES,YES,YES,YES,DEFAULT,YES
  6. — 将查询的结果中的 “,” 号,替换成 “**” 号
  7. select REPLACE(group_concat(E.SUPPORT),’,’,’**’)
  8. from ENGINES E
  9. where E.XA IN(‘YES’,’NO’)
  10. –结果如下:YES**YES**YES**YES**YES**YES**DEFAULT**YES
  11. — 将查询的结果中 重复 的记录 去掉,只剩一条记录,然后再拼接
  12. select group_concat(DISTINCT(E.SUPPORT))
  13. from ENGINES E
  14. where E.XA IN(‘YES’,’NO’)
  15. –结果如下:YES,DEFAULT
  16. — 多列拼接,同一行的先拼接,再加上逗号,接着拼接下一行
  17. select group_concat(E.ENGINE,E.SUPPORT)
  18. from ENGINES E
  19. where E.XA IN(‘YES’,’NO’)
  20. –结果如下:MRG_MYISAMYES,MyISAMYES,BLACKHOLEYES,CSVYES,MEMORYYES,ARCHIVEYES,InnoDBDEFAULT,PERFORMANCE_SCHEMAYES

标签