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

Mysql select ifnull()在查询中不允许超过1列,mysql,python-2.7,Mysql,Python 2.7,在运行下面的查询时,我得到这个错误-1241,操作数应该包含1列: select ifnull((select col1, col2 from table where uid = num limit 1) , '0'); 如果我只投影一列,它运行时没有错误,我实际上想使用select*投影所有列,但它不适用于多个列,请给我一些建议。尝试如下:- select ifnull(col1,'0'), ifnull(col2,'0') from table where uid = num limi

在运行下面的查询时,我得到这个错误-1241,操作数应该包含1列:

select ifnull((select col1, col2 from table where uid = num limit 1) , '0');  
如果我只投影一列,它运行时没有错误,我实际上想使用select*投影所有列,但它不适用于多个列,请给我一些建议。

尝试如下:-

select ifnull(col1,'0'), ifnull(col2,'0') from table where uid = num limit 1
试着这样做:-

select ifnull(col1,'0'), ifnull(col2,'0') from table where uid = num limit 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');   
不能在两列上使用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');   

innull函数只需要一个输入,您有两列作为输入。因此出现了错误。但我想你已经明白了。您可以为每列拆分函数。函数innull只需要一个输入,并且有两列作为输入。因此出现了错误。但我想你已经明白了。您可以为每个列拆分函数谢谢!我运行了两列,它给了我想要的结果。如果选择所有列,我该如何做?如果我写多个“case”,则“case”不允许逗号。我有15个这样的列。当col1为null、col2为null、col3为null、col4为null、col5为null时,我完成了select ifnullselect情况,然后null else 1从uid=num limit 1、“0”的表结束,我为col1到col15做了这个,它运行得很好。如果我做得不对,一定要建议,再次谢谢。谢谢!我运行了两列,它给了我想要的结果。如果选择所有列,我该如何做?如果我写多个“case”,则“case”不允许逗号。我有15个这样的列。当col1为null、col2为null、col3为null、col4为null、col5为null时,我完成了select ifnullselect情况,然后null else 1从uid=num limit 1、“0”的表结束,我为col1到col15做了这个,它运行得很好。如果我做得不对,一定要提出建议,再次感谢。谢谢,投票支持你的答案!运行速度相当快,但遇到不存在的uid值时不会给出0。有什么建议吗?如果你能提供一些样本数据和你想要的数据输出类型,这将有助于提供解决方案。谢谢,投票支持你的答案!运行速度相当快,但遇到不存在的uid值时不会给出0。有什么指针吗?如果你能提供一些样本数据和你想要的数据输出类型,这将有助于提供解决方案。