22,209
社区成员
发帖
与我相关
我的任务
分享
SELECT (CASE
WHEN S0.cname IS NULL THEN T0.cname
ELSE S0.cname
END) AS cname
, S0.sname
, T0.tname
FROM (SELECT c.id
, c.cname
, S1.cid
, S1.sname
, S1.rn
FROM c
, (SELECT *
, rn = ROW_NUMBER () OVER (PARTITION BY cid ORDER BY sname)
FROM s) S1
WHERE c.ID = S1.cid) S0
FULL JOIN
(SELECT c.id
, c.cname
, T1.cid
, T1.tname
, T1.rn
FROM c
, (SELECT *
, rn = ROW_NUMBER () OVER (PARTITION BY cid ORDER BY tname)
FROM t) T1
WHERE c.ID = T1.cid) T0
ON S0.cid = T0.cid AND S0.rn = T0.rn