ДЕЛО, КОГДА СУЩЕСТВУЕТ - PullRequest
       30

ДЕЛО, КОГДА СУЩЕСТВУЕТ

0 голосов
/ 13 марта 2019

Я пытаюсь создать поле, которое, если какой-либо из комитетов, перечисленных в исследовании, является DSMB, тогда «ДА», если не «НЕТ». Я использую Oracle SQL Developer.

К исследованию может быть прикреплено несколько комитетов, но я хочу сохранить его в одной строке.

Однако этот запрос фильтрует все комитеты, в которых нет комитета DSMB.

Я хочу, чтобы все исследования отображались, и да, если у него есть DSMB, и НЕТ, если нет.

SELECT STUDY,
    CASE WHEN
 EXISTS(SELECT COMMITTEE 
                FROM Database 
                  WHERE COMMITTEE = 'DSMB')
            THEN 'YES'
              ELSE 'NO'
                               END "DSMB"

FROM DATABASE

Спасибо !!

1 Ответ

1 голос
/ 13 марта 2019

Если я правильно понимаю, вы можете использовать оконную функцию:

SELECT STUDY,
       MAX(CASE WHEN COMMITTEE = 'DSMB' THEN 'YES' ELSE 'NO' END) OVER (PARTITION BY STUDY) as "DSMB"
FROM DATABASE
...