我正在尝试创建一个字段,如果研究中列出的任何委员会是DSMB,那么如果不是'NO'则为'YES'。我正在使用Oracle SQL Developer。
一项研究可以有多个委员会,但我想把它保持在一条线上。
但是,此查询将过滤掉所有没有DSMB委员会的委员会。
我希望所有的研究都能显示出来,如果它有DSMB则为yes,如果没有则为NO。
SELECT STUDY,
CASE WHEN
EXISTS(SELECT COMMITTEE
FROM Database
WHERE COMMITTEE = 'DSMB')
THEN 'YES'
ELSE 'NO'
END "DSMB"
FROM DATABASE
谢谢!!
如果我理解正确,你可以使用窗口功能:
SELECT STUDY,
MAX(CASE WHEN COMMITTEE = 'DSMB' THEN 'YES' ELSE 'NO' END) OVER (PARTITION BY STUDY) as "DSMB"
FROM DATABASE