我收到此错误-1241,运行以下查询后,操作数应包含1列:
select ifnull((select col1, col2 from table where uid = num limit 1) , '0');
如果我只投影1列而没有错误运行,我实际上想使用select *
来投影所有列,但是它不能用于一个以上的列,请给我一些建议。
答案 0 :(得分:2)
尝试这样:-
select ifnull(col1,'0'), ifnull(col2,'0') from table where uid = num limit 1
答案 1 :(得分:1)
您不能在可以使用的两列中使用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');