34,870
社区成员




with cte1 as
(
select '2023-11-30' as cdate,'cn001' as orderno,'中文' as ctype,1 as id union all
select '2023-12-01' as cdate,'cn002' as orderno,'中文' as ctype,2
),
cte2 as
(
select '2023-12-01' as cdate,'cn001' as orderno,'英文' as ctype,1 as id union all
select '2023-12-01' as cdate,'cn002' as orderno,'英文' as ctype,2
),
cte3 as
(
select '2023-12-01' as cdate,'cn003' as orderno,'日文' as ctype ,1 as id
),
cte4 as
(
select '2023-12-01' as cdate,'cn001' as orderno,'法文' as ctype,1 as id union all
select '2023-12-01' as cdate,'cn002' as orderno,'法文' as ctype,2
)
,cte5 as
(
select cdate, id from cte1
union
select cdate, id from cte2
union
select cdate, id from cte3
union
select cdate, id from cte4
)
select distinct b.*,c.*,d.*,e.* from cte5 a
left join cte1 b on a.cdate = b.cdate and a.id = b.id
left join cte2 c on a.cdate = c.cdate and a.id = c.id
left join cte3 d on a.cdate = d.cdate and a.id = d.id
left join cte4 e on a.cdate = e.cdate and a.id = e.id
SELECT a.field,b.field,c.field FROM *** as a INNER JOIN *** as b INNER JOIN *** as c;
然后根据日期排序