2015-03-25 6 views
0

Как объединить несколько наборов результатов запросов в Oracle SQLКомбинирование Результат запроса наборов в Oracle SQL

Образец запроса является

Select * из таблицы, где table.id в

(

(
    select table.id 
    from table 
    where cond 1 

    intersect 

    select table.id 
    from table 
    where cond 2 
    ) 

Объединение
(

select table.id 
    from table 
    where cond 3 

    intersect 

    select table.id 
    from table 
    where cond 4 

)
)

Я хочу, чтобы получить результат пересекаться первым, а затем союз должен быть применен, как объединить два набора результатов, как это?

+0

Что вы подразумеваете под первым результатом пересечения? Этот запрос не дает ожидаемого результата? – Minh

ответ

1

Как насчет этого?

Select * 
from table 
where ((cond 1) and (cond 2)) or 
     ((cond 3) and (cond 4)); 
+0

, поэтому ответ должен быть таким, как Select * из таблицы где table.id in ((query1) и (query2)) или ((запрос 3) и (запрос 4)); – Hunter

+0

Спасибо, Гордон. – Hunter