2016-04-29 23 views
0

同じテーブルの2つの条件が2つありますが、この2つの条件付きカウントに対して2つの列を作成するにはどうすればよいですか。2つのクエリで同じテーブルの2つの列を作成する方法

あなたが条件付きの集約を使用することができます
SELECT Count(*) FROM TBL_FT WHERE STATUS = 'X'; 
SELECT Count(*) FROM TBL_FT WHERE STATUS = 'Y' and 
LOGDATE>trunc(sysdate); 

答えて

1

SELECT 
    COUNT(CASE WHEN STATUS = 'X' THEN 1 END), 
    COUNT(CASE WHEN STATUS = 'Y' AND LOGDATE > trunc(sysdate) THEN 1 END) 
FROM TBL_FT 

ます。またWHERE句を追加することができます。

WHERE STATUS IN ('X', 'Y'); 
+0

を実行する時間 – user2767633

+0

彼はWHERE節。 –

0

あなたはこのようなものを使用することができます - 長期服用

SELECT SUM(CASE 
       WHEN STATUS = 'X' THEN 
       1 
       ELSE 
       0 
      END) FIRST_VAL, 
     SUM(CASE 
         WHEN STATUS = 'Y' 
          AND LOGDATE > TRUNC(SYSDATE) THEN 
         1 
         ELSE 
         0 
        END) second_val 
     FROM TBL_FT; 
+0

oops私の悪い..修正..ありがとう@a_horse_with_no_name –

関連する問題