1

TD の case ステートメントで (結合ではなく) select 句を使用することは可能ですか?

私はこのようなことをしたいと思います:

SELECT 
   id, 
   , count(*)
   , (CASE WHEN id IN ANY (SELECT DISTINCT ID FROM PARTICIPANTS_TABLE)                             
        THEN 1 ELSE 0 
      end) AS participant 
FROM EVERYONE_TABLE
GROUP BY id

エラーは「CASE 式の WHEN 句の式が不正です」です。

4

2 に答える 2

0

はい、これは正しい構文で動作するはずです:

SELECT id,
       (CASE WHEN id IN (SELECT DISTINCT ID FROM PARTICIPANTS_TABLE) 
             THEN 1 ELSE 0
         end) AS participant;

ただし、distinctは不要です。

SELECT id,
       (CASE WHEN id IN (SELECT ID FROM PARTICIPANTS_TABLE) 
             THEN 1 ELSE 0
         end) AS participant;
于 2013-09-11T02:31:40.677 に答える