Объединение отдельных запросов с cte - PullRequest
0 голосов
/ 13 января 2020

Я пытаюсь объединить два запроса на выборку, которые используют cte.

Пример:

Запрос1:

With cte1 as
(Select assignment_number 
From per_all_assignments_f)

Select cte1.assignment_number
From per_all_Assignments_f
Where assignment_status = ‘ACTIVE’


Query2:
With cte2 as
(Select assignment_number 
From per_all_assignments_f)

Select cte2.assignment_number
From per_all_assignments_f
Where assignment_status = ‘INACTIVE’

Теперь я хочу объединить query1 и query2. Пожалуйста помоги. Спасибо.

Ответы [ 3 ]

2 голосов
/ 13 января 2020

Какова цель сделать это таким образом? Разве это не просто

select assignment_number
from per_all_assignments_f
where assignment_status in ('ACTIVE', 'INACTIVE')
0 голосов
/ 13 января 2020

Попробуйте: вы должны разделить CTE запятыми, а затем выбрать

With cte1 as
(
    SELECT assignment_number,
           assignment_status
    FROM   per_all_assignments_f
),
cte2 as
(
    SELECT assignment_number,
           assignement_status
    FROM   per_all_assignments_f
)
SELECT  assignment_number
FROM    cte1
WHERE   assignment_status = ‘ACTIVE’
UNION -- OR UNION ALL   
SELECT  assignment_number
FROM    per_all_assignments_f
WHERE   assignment_status = ‘INACTIVE’
ORDER BY assignment_number
0 голосов
/ 13 января 2020

попробуйте как показано ниже

With cte1 as
(Select assignment_number ,assignment_status
From per_all_assignments_f
)
,
cte2 as
(Select assignment_number ,assignment_status
From per_all_assignments_f)
Select cte1.assignment_number
From cte1
Where assignment_status = 'ACTIVE'
union 
Select cte2.assignment_number
From cte2
Where assignment_status = 'INACTIVE'
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...