2011-09-07 65 views
1

我有2个sql(每个sql约10行加入大约5个表)。这2 sqls返回相同的列。我只想在sql1没有返回结果的情况下执行sql2。多个Oracle查询

如何在一个SQL中做到这一点?

+0

请张贴的SQL语句。 –

回答

1
query1 
UNION ALL 
(query2 
    WHERE NOT EXIST (query1) 
) 

在Oracle中,你也可以因素:

WITH conditional_query AS (query1) 
SELECT * FROM conditional_query 
UNION ALL 
(query2 WHERE NOT EXIST (SELECT NULL FROM conditional_query)) 
+0

好吧,我最终使用coalesce。谢谢你的想法 – Madhu