select ifnull()在查询中不允许超过1列

mfuanj7w  于 2021-06-20  发布在  Mysql
关注(0)|答案(2)|浏览(396)

在运行下面的查询时,出现以下错误-1241,操作数应包含1列:

select ifnull((select col1, col2 from table where uid = num limit 1) , '0');

如果我只投影一列,它运行时没有错误,我实际上想使用select * 若要投影所有列,但不适用于多个列,请给我一些建议。

slhcrj9b

slhcrj9b1#

试试看this:-

select ifnull(col1,'0'), ifnull(col2,'0') from table where uid = num limit 1
2w3rbyxf

2w3rbyxf2#

你不能使用 ifnull 超过两列你可以
或检查一列

select ifnull((select col1 from table where uid = num limit 1) , '0');

或用于评估内容并返回单个值的用例

select ifnull((select case when  col1 is null and  col2 is null then null else 1 end
          from table where uid = num limit 1) , '0');

相关问题