【发布时间】:2021-05-13 21:10:56
【问题描述】:
我正在努力在 MYSQL 中获得所需的输出。
我有这样的桌子:
| Result_ID | Code | Rule |
|---|---|---|
| 39566 | O | 0 |
| 39566 | G | 0 |
| 39566 | R | 1135 |
| 40115 | R | 1135 |
我想应用如果代码 = R 和规则 0 则“通过”ELSE“手动”的标准。但它应该检查所有具有相同 result_id 的行。
我试过这样写:
SELECT DISTINCT
[RESULT_ID]
,CODE
,RULE
,CASE WHEN CODE ='R' AND RULE_DETAIL_ID <> 0 THEN 'Passed'
WHEN CODE <> 'R' THEN 'MANUAL'
END as abc
但它只检查一行。如何让它检查所有行是否有相同的 result_id?
结果应该是这样的
| Result_ID | Code | Rule | abc |
|---|---|---|---|
| 39566 | O | 0 | MANUAL |
| 39566 | G | 0 | MANUAL |
| 39566 | R | 1135 | MANUAL |
| 40115 | R | 1135 | Passed |
【问题讨论】:
-
MySql 的哪个版本?
标签: if-statement case