试着弄清楚如何最好地表达这些问题,但我认为最好通过实例来完成。
我从查询中得到以下输出
league_id user_id outcome_id
5 1 1
5 1 4
5 2 1
如您所见,有两种不同的结果值。 有效的是,不止一个的案例是league_id和user_id是相同的......例如,在上面的例子中为5和1。
我想要的是生成摘要数据,如果union_id和user_id的组合结果为'4',那么将输出'FAIL'并且所有结果'1'将被忽略为该league_id和user_id组合。如果没有'4',则摘要将输出传递。
这会产生类似下面的内容......
league_id user_id outcome_id
5 1 FAIL
5 2 PASS
很抱歉说我很难实现这一目标!有人可以帮忙吗?
感谢。
DS
答案 0 :(得分:2)
SELECT league_id,user_id,
CASE WHEN outcome=0 THEN 'PASS' ELSE 'FAIL' END as outcome_id
FROM
(
SELECT league_id,user_id,SUM(CASE WHEN outcome_id=4 THEN 1 ELSE 0 END) as outcome
FROM tableName
GROUP BY league_id,user_id
) As Z