【发布时间】:2021-01-23 12:19:49
【问题描述】:
我的查询选择了多个列,但现在我想在没有返回时返回一些虚拟值。
例如在以下查询中:
SELECT a.abc, b.def, c.ghi
FROM comp a, damp b, champ c, omp d
WHERE a.id=b.id
and b.id=c.id
and c.id= d.id
ORDER BY a.abc desc
如果没有返回行我想显示至少一列具有某些值,有人可以建议我如何实现这一点。 我已经提出了一些建议,但没有一个奏效。任何帮助将不胜感激。
【问题讨论】:
-
请用 1 个 DBMS 标记您的问题 - 是 MySQL 还是 Oracle?
-
请更具体一点:执行此 SELECT 后“没有返回行”,还是在连接表中找不到行?
-
让你的应用程序逻辑工作一点。 IE。执行查询检查是否获得行,如果没有再次运行查询
dual,返回no rows。您将获得更好的性能,就像您使用not exists将其委托给数据库查询一样。在SQL中解决这个问题是可能的,但我将其视为反模式。