У меня есть следующий код T-SQL:
select
id,
(case
when n in(Bla1', 'Bla2') then 1
when n = 'Bla3' then 99
else 0
end) as c
from
hello
Запуск этого кода приводит к следующему результату:
| id | c |
+--------+----+
| 577140 | 0 |
| 577140 | 1 |
| 577140 | 0 |
| 577140 | 0 |
| 577140 | 99 |
| 577141 | 0 |
| 577141 | 0 |
| 577141 | 0 |
| 577142 | 0 |
| 577142 | 0 |
| 577142 | 1 |
Как изменить код, чтобы получить следующий вывод?
| id | c |
+--------+----+
| 577140 | 99 |
| 577141 | 0 |
| 577142 | 1 |
Правило
Для каждого id
: если существует 99
, то c
становится 99
.Если нет, то 1
или 0
, в зависимости от того, существует ли 1
.