22,300
社区成员




WITH
/* 测试数据
tableA(Aid,Aname)AS(
SELECT 1,'第1集' UNION ALL
SELECT 2,'第2集' UNION ALL
SELECT 3,'第3集' UNION ALL
SELECT 4,'第4集'
)
,TableB(Bid,Aid)AS(
SELECT 1,1 UNION ALL
SELECT 2,2
),*/
c AS (
SELECT a.Aid ID,
a.Aname 名称,
CASE WHEN b.Bid IS NULL THEN
'false'
ELSE
'true'
END 是否观看
FROM tableA a
LEFT JOIN tableB b
ON a.Aid = b.Aid
)
,d AS (
SELECT *,
ROW_NUMBER() OVER(PARTITION BY 是否观看
ORDER BY ID) rn
FROM c
)
SELECT ID,
名称,
是否观看,
CASE WHEN 是否观看='true' THEN
'true'
WHEN rn=1 THEN
'true'
ELSE
'false'
END 是否为下一集观看顺序
FROM d
ORDER BY ID
ID 名称 是否观看 是否为下一集观看顺序
----------- ----- -------- --------------------
1 第1集 true true
2 第2集 true true
3 第3集 false true
4 第4集 false false