如果没有返回行,如何返回默认值 [英] How can I return a default values if no rows returned

查看:113
本文介绍了如果没有返回行,如何返回默认值的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述



请不要现在如何在没有返回行时返回默认值,



i尝试COALESCE((),( ))但是coalesce应该包含1列



例如我想返回manu列,如:(选择'12 -12-12',312,1)



我尝试了什么:



Hi,
Please i dont now how to return default values when no rows returned,

i tried COALESCE((),()) but coalesce should contain 1 column

for example i want to return manu column like : (select '12-12-12',312,1)

What I have tried:

SELECT COALESCE( (select CIN from Pers where Id=32323) ,(select '12-12-12',312,'zfsdf'))

推荐答案

您可以使用 IF ... ELSE ... END IF

请参阅:M ySQL :: MySQL 5.7参考手册:: 13.6.5.2 IF语法 [ ^ ]



另一种方法是使用 UNION + LIMIT

You can use IF ... ELSE ... END IF
See: MySQL :: MySQL 5.7 Reference Manual :: 13.6.5.2 IF Syntax[^]

Another way is to use UNION + LIMIT:
(select Col1, Col2, Col3 FROM Pers WHERE Id=32323)
UNION
(SELECT '12-12-12' AS Col1, 312 AS Col2, 'zfsdf' AS Col3)
LIMIT 1;


这篇关于如果没有返回行,如何返回默认值的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆