1

さまざまな基準に基づいてレコードをカウントするクエリがありますが、結果を上記の基準に基づいて2つのグループ化されたフィールドに分割したいと思います。クエリ内でこれを行う方法はありますか?それとも2つのクエリが必要ですか?

select count(PT_TASK_ASSAY_DISP) as 'Count' from vbasedata v
where 
    v.PT_TASK_ASSAY_DISP like 'SS%' or
    (v.PT_TASK_ASSAY_DISP like 'IP%' and
    v.PT_TASK_ASSAY_DISP not like 'IP CUT' and
    v.PT_TASK_ASSAY_DISP not like 'IP NEG');

合計数を取得するために、IPとSSでグループ化しようとしています。

4

1 に答える 1

2

何が欲しいのかよくわかりません。ただし、「SS%」ごとに1つのカウントが必要で、「IP%」ごとに1つのカウントが必要な場合。それなら多分このようなもの:

select 
    SUM(CASE WHEN PT_TASK_ASSAY_DISP LIKE 'SS%' THEN 1 ELSE 0 END) as SSCount,
    SUM(CASE WHEN PT_TASK_ASSAY_DISP LIKE 'IP%' THEN 1 ELSE 0 END) as IPCount 
from vbasedata v
where 
    v.PT_TASK_ASSAY_DISP like 'SS%' or
    (v.PT_TASK_ASSAY_DISP like 'IP%' and
    v.PT_TASK_ASSAY_DISP not like 'IP CUT' and
    v.PT_TASK_ASSAY_DISP not like 'IP NEG');
于 2012-04-13T12:52:17.400 に答える