sql循环连接?

aurhwmvo  于 2021-06-25  发布在  Mysql
关注(0)|答案(2)|浏览(327)

如何连接sql列值并用逗号(',')分隔。
注意它也应该在null处终止。
考虑一个表模式(假设所有数据类型都是varchar(100))

  1. c1s | c2s | c3s | c4s | c5s | c6s | c7s
  2. a | b | c | d | null | f | g

所需输出应为:

  1. a, b, c, d

使用mysql xampp

bvuwiixz

bvuwiixz1#

假设您有一个while循环,并且希望使用该循环创建sql或字符串。
下面的代码片段将帮助您。这只是一个sudo代码,您需要根据您的需求进行构建:

  1. cnt = 1;
  2. noOfPartitions = 20;
  3. SET @innerQuery = '';
  4. SET @alterQuery = CONCAT('select query ..........( ') ;
  5. WHILE cnt <= noOfPartitions DO
  6. SET @innerQuery = CONCAT('criteria .....');
  7. SET cnt = cnt + 1;
  8. IF cnt <= noOfPartitions THEN
  9. SET @innerQuery = CONCAT(@innerQuery, ', ');
  10. ELSE
  11. SET @innerQuery = CONCAT(@innerQuery, ');');
  12. END IF;
  13. END WHILE;
  14. SET @alterQuery = CONCAT(@alterQuery, @innerQuery);
  15. SELECT @alterQuery;

这样您就可以创建动态sql或创建字符串。

展开查看全部
o4tp2gmn

o4tp2gmn2#

如果你真的需要这个,你可以用concat\ws。

  1. SELECT CONCAT_WS(",", t.foo, t.foo1, t.foo2) AS myfield FROM mytable t

相关问题