如何从Ingres中的虚拟表中选择零个或一个记录

Luk*_*der 5 sql select ingres

在大多数SQL产品中,我可以从没有表或虚拟表中选择如下:

-- Oracle
SELECT 1 FROM DUAL

-- Many other SQL products (including Ingres)
SELECT 1
Run Code Online (Sandbox Code Playgroud)

有时,我想在上面的语句中添加一个条件,以便根据条件检索0或1条记录

-- Oracle
SELECT 1 FROM DUAL WHERE 1 = 0

-- Many other SQL products (but not Ingres)
SELECT 1 WHERE 1 = 0
Run Code Online (Sandbox Code Playgroud)

但上述内容对Ingres 10.0不起作用.我该怎么做?

Mar*_*ith 5

我没有使用过Ingres但我从你的问题中假设a FROM是强制性的,如果有的话WHERE?在那种情况下怎么样

SELECT 1 FROM (SELECT 1 AS C) AS T WHERE 1 = 0
Run Code Online (Sandbox Code Playgroud)

要么

SELECT CASE WHEN 1 = 0 THEN 1 ELSE 0 END
Run Code Online (Sandbox Code Playgroud)

(最后一个将始终返回一行,但允许您检查条件)