我希望能找到最佳的方式来处理这个问题,但某些原因一直困扰着我。
我有如下数据:
transaction_id(pk) decision_id(pk) accepted_ind
A 1 NULL
A 2 <blank>
A 4 Y
B 1 <blank>
B 2 Y
C 1 Y
D 1 N
D 2 O
D 3 Y
- 每个事务都保证有决策1
- 可能会有多种决策可能性(例如"假设"的情况)
- Accepted可以有多个值,也可以为空或为NULL,但只能有一个accepted_ind = Y
我正在尝试编写一个查询:
- 为每个transaction_id返回一行
- 如果accepted_ind = Y,则返回decision_id,如果事务没有行accepted_ind = Y,则返回decision_id = 1的行(不考虑accepted_ind中的值)
我已经尝试过: 1. 使用逻辑"or"来提取记录,但一直得到重复的结果。 2. 使用union和except,但无法正确理解逻辑。
非常感谢您的帮助。我真的不知道为什么这让我如此困扰!
Adam