Совокупная функция проверки «если содержит» - PullRequest
7 голосов
/ 25 марта 2011

У меня есть данные:

Code   Page     Task
    2   1   Activity
    2   2   Activity
    2   3   Activity Symbols
    2   4   Activity Symbols
    2   5   Activity Symbols
    2   12  Activity
    2   12  Activity Symbols
    2   999 Consider
    2   999 Constituents
    2   999 Material
    2   999 Material Hazards
    316 999 Constituents
    356 999 Constituents
    398 999 Constituents
    604 70  Activity Symbols
    604 999 Constituents

Я хочу сгруппировать по Code и для каждой проверки, если какая-либо из записей в этой группе содержит Page из '999', если так, вернуть 'True'. Есть ли агрегатная функция, которая сделает это? Или, может быть, есть лучший способ структурировать такой запрос?

1 Ответ

21 голосов
/ 25 марта 2011
select code,
max(case when page = '999' then 1 else 0 end) as has999
from table
group by code
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...