oracle sql错误案例,然后是Else
Case When then else在where子句中。不确定语法oracle sql错误案例,然后是Else,sql,oracle,oracle11g,Sql,Oracle,Oracle11g,Case When then else在where子句中。不确定语法 我想验证第二个表中是否有行,如果有行,则检查另一个条件,这基本上就是我要做的。也许这就是您想要的?如果第二个表中有行,则是否存在第二个: SELECT * FROM FirstTable WHERE RowProcessed = 'N' AND ( CASE WHEN EXISTS(SELECT top 1 FROM SecondTable) THE
我想验证第二个表中是否有行,如果有行,则检查另一个条件,这基本上就是我要做的。也许这就是您想要的?如果第二个表中有行,则是否存在第二个
:
SELECT *
FROM FirstTable
WHERE RowProcessed = 'N'
AND (
CASE
WHEN EXISTS(SELECT top 1 FROM SecondTable)
THEN 1
ELSE EXISTS(
SELECT SecondTable.RowProcessed
FROM SecondTable
WHERE FirstTable.Key = SecondTable.Key
AND SecondTable.RowProcessed = 'Y'
)
END
)
AND OtherConditions
Oracle中没有TOP
。请阅读手册为什么不在您的两个存在之间使用OR条款?您到底想实现什么?
SELECT * FROM FirstTable
WHERE RowProcessed = 'N'
AND (NOT EXISTS (SELECT 1 from SecondTable)
OR EXISTS (SELECT 1 FROM SecondTable
WHERE FirstTable.Key = SecondTable.Key
and SecondTable.RowProcessed = 'Y'))
AND OtherConditions