Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/87.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mysql 嵌套的CONCAT_WS throws#1242-子查询返回超过1行错误_Mysql_Sql - Fatal编程技术网

Mysql 嵌套的CONCAT_WS throws#1242-子查询返回超过1行错误

Mysql 嵌套的CONCAT_WS throws#1242-子查询返回超过1行错误,mysql,sql,Mysql,Sql,假设表t如下所示: t表: a b c d e a1 b1 c1 d1 e1 a2 b2 c2 d2 e2 a3 b3 c3 d3 e3 . . . . . . . . . . . . . . . 此查询引发#1242错误: SELECT CONCAT_WS( '*', (SELECT CONCAT_WS( '_', a, b, c) FROM t)) AS test 预期结果是: test a1_b

假设表t如下所示:

t表:

a   b   c   d   e
a1  b1  c1  d1  e1  
a2  b2  c2  d2  e2
a3  b3  c3  d3  e3
.   .   .   .   .
.   .   .   .   .
.   .   .   .   .
此查询引发#1242错误:

SELECT CONCAT_WS( '*', (SELECT CONCAT_WS( '_', a, b, c) FROM t)) AS test
预期结果是:

test
a1_b1_c1*a2_b2_c2*a3_b3_c3*.....
什么是最好的解决方案?

问题是“t”有多行。也许您需要以下选项之一:

SELECT CONCAT_WS( '*', (SELECT CONCAT_WS( '_', a, b, c) FROM t limit 1)) AS test 

哎呀,我错过了问题中的预期结果。你想要:

select group_concat(vals SEPARATOR '*' ORDER BY t.id)
from (select concat_ws('_', a, b, c) as vals
      from t
     ) t
(假设有一个名为“id”的列用于对结果进行排序。如果没有,则省略order by子句。)

问题是“t”有多行。也许您需要以下选项之一:

SELECT CONCAT_WS( '*', (SELECT CONCAT_WS( '_', a, b, c) FROM t limit 1)) AS test 

哎呀,我错过了问题中的预期结果。你想要:

select group_concat(vals SEPARATOR '*' ORDER BY t.id)
from (select concat_ws('_', a, b, c) as vals
      from t
     ) t

(假设有一个名为“id”的列用于对结果进行排序。如果没有,请省略order by子句。)

显示您的。显示您的。我建议分两步进行。内爆柱,然后使用组_CONCAT。Gordon Linoff提供的第三个选项正是我所需要的。谢谢你,Gordon,我说,分两步完成。内爆列,然后使用GROUP_CONCAT。Gordon Linoff提供的第三个选项完全符合我的需要谢谢你Gordon这也行,但Gordon解决方案不需要创建临时表感谢ficuscryeah这也行,但Gordon解决方案不需要创建临时表感谢ficuscr