在运行下面的查询时,出现以下错误-1241,操作数应包含1列:
select ifnull((select col1, col2 from table where uid = num limit 1) , '0');
如果我只投影一列,它运行时没有错误,我实际上想使用select * 若要投影所有列,但不适用于多个列,请给我一些建议。
*
slhcrj9b1#
试试看this:-
select ifnull(col1,'0'), ifnull(col2,'0') from table where uid = num limit 1
2w3rbyxf2#
你不能使用 ifnull 超过两列你可以或检查一列
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');
2条答案
按热度按时间slhcrj9b1#
试试看this:-
2w3rbyxf2#
你不能使用
ifnull
超过两列你可以或检查一列
或用于评估内容并返回单个值的用例