0

2 つの異なるレコードの数を選択し、一方の結果を他方の結果から差し引いて結果を として表示する計算を実行する MS クエリがありますdifference

下記参照:

Ticketnumber   |   Createdon    |    Modifiedon  |
00012121       |    16/03/2015  |    15/03/2015  |
00211335       |    10/03/2015  |    17/03/2015  |

SELECT  ( SELECT    COUNT(incidentbase.ticketnumber) AS val2
          FROM      IncidentBase
          WHERE     createdon >= GETDATE() - 7
        ) - ( SELECT    COUNT(incidentbase.ticketnumber) AS val1
              FROM      incidentbase
              WHERE     modifiedon >= GETDATE() - 7
            ) AS difference

私が望むのは、結果が正の数であるか負の数であるかに応じて、結果を単一の値として表示することです。次のようなものです。

WHEN difference => 0 then 1
WHEN difference =< 0 then 0 

誰でも助けてもらえますか?

4

2 に答える 2

2

使用するだけCASEです:

SELECT CASE 
          WHEN (SELECT COUNT (incidentbase.ticketnumber) as val2 
                FROM IncidentBase 
                WHERE createdon >= GETDATE()-7) - 
               (SELECT count (incidentbase.ticketnumber) as val1 
                FROM incidentbase 
                WHERE modifiedon >= GETDATE()-7) <= 0 THEN 1
          ELSE 0 
       END AS flag 
于 2015-03-18T13:41:59.830 に答える
0

次のように「ケース」を使用できます。

declare @i1 int=5
select case when @i1 < 0 then 0 
when @i1=> 1 then 1 
end  results1
于 2015-03-18T13:41:42.063 に答える