简体   繁体   中英

Union of select queries with cte

I m trying to union two select queries which uses cte's.

Ex:

Query1:

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’

Now, I want to union query1 and query2. Please help. Thanks.

What's the purpose of doing it that way? Isn't it just

select assignment_number
from per_all_assignments_f
where assignment_status in ('ACTIVE', 'INACTIVE')

try like below

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'

Try this: You have to comma separate the CTEs and then select from then

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

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM