选择ifnull()不会让查询中的列超过1

时间:2018-08-28 07:25:46

标签: mysql python-2.7

我收到此错误-1241,运行以下查询后,操作数应包含1列:

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

如果我只投影1列而没有错误运行,我实际上想使用select *来投影所有列,但是它不能用于一个以上的列,请给我一些建议。

2 个答案:

答案 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');