我有以下客户帐户决定和状态数据
{{1}}
我想得到 其决定为“接受”且状态为“已存入”,“合同”的记录
并获取其决定为“有条件接受”且状态(“已存入”,“合同”)的记录
在两个不同的列中。
请为此撰写案例陈述。
我的输出应该是这样的:
我的输出应该像Client字段值newcol1 newcol2
111决定接受
111状态保证111
112决定接受
113决定接受
114决定接受
114身份合同114
115条件接受决定
115已存入的状态115
116决定条件接受
117条件接受决定
118地位合同118
118条件接受决定
答案 0 :(得分:1)
使用条件聚合:
SELECT Client
FROM yourTable
GROUP BY Client
HAVING (SUM(CASE WHEN fields = 'Decision' AND value = 'accept'
THEN 1 ELSE 0 END) > 0 AND
SUM(CASE WHEN fields = 'Status' AND value IN ('deposited', 'contract')
THEN 1 ELSE 0 END) > 0)
OR
(SUM(CASE WHEN fields = 'Decision' AND value = 'Conditional Accept'
THEN 1 ELSE 0 END) > 0 AND
SUM(CASE WHEN fields = 'Status' AND value IN ('deposited', 'contract')
THEN 1 ELSE 0 END) > 0)