SQL Случай, когда утверждение не соответствует результату - PullRequest
1 голос
/ 18 февраля 2020

У меня есть этот запрос, и я хотел бы понять, почему result2 генерирует больше 1, чем result1. Я ожидал бы, что результат запроса выдаст идентичные результаты, означающие result1 = result2. Буду признателен, если кто-то может помочь понять

case
    when item1 = 1 and category = 'Category1' then 1
    when item2 = 1 and category = 'Category2' then 1
    when item3 = 1 and category = 'Category3' then 1
    when item4 = 1 and category = 'Category4' then 1
    else 0
end as result1,
case
when ((item1 = 1 and category = 'Category1')
    or (item2 = 1 and category = 'Category2')
    or (item3 = 1 and category = 'Category3')
    or (item4 = 1 and category = 'Category4')) then 1
    else 0
end as result2,
...