我正在尝试编写子选择,它将遍历返回的数据,然后检查所有状态,然后决定唯一性逻辑。
有没有办法找出以下?
- 如果任何数据具有“活动”状态,第一个将被标记为 1,其他所有数据都为 0
- 如果没有“活动”状态,则第一个“过期”状态将标记为 1,其他所有状态都标记为 0
- 如果没有“活动”和“过期”状态,那么首先“进行中”将被标记为 1,其他所有内容都标记为 0
我试图这样写,但我需要在一个案例陈述中使用它
SELECT a.id, a.status,
,(SELECT
CASE WHEN b.STATUS = 'Active' THEN 1 ELSE 0 END
CASE WHEN b.STATUS = 'Expired' THEN 1 ELSE 0 END
FROM b.TABLE
WHERE a.id=b.id )AS unique
FROM my.TABLE
结果应该看起来像https://i.stack.imgur.com/qCA74.png过期案例的图片
提前感谢您的任何提示。