在大多数SQL产品中,我可以像这样从无表或哑表中进行选择:

-- Oracle
SELECT 1 FROM DUAL

-- Many other SQL products (including Ingres)
SELECT 1

有时,我想在上面的语句中添加一个条件,以便检索0或1条记录,具体取决于条件
-- Oracle
SELECT 1 FROM DUAL WHERE 1 = 0

-- Many other SQL products (but not Ingres)
SELECT 1 WHERE 1 = 0

但是以上内容不适用于Ingres 10.0。我该怎么做?

最佳答案

我没有使用过Ingres,但是从您的问题中假设,如果有FROM,那么WHERE是强制性的?那样的话

SELECT 1 FROM (SELECT 1 AS C) AS T WHERE 1 = 0

或者
SELECT CASE WHEN 1 = 0 THEN 1 ELSE 0 END

(最后一个总是返回一行,但允许您检查条件)

关于sql - 如何从Ingres的虚拟表中选择零个或一个记录,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/7777535/

10-10 04:45