-2

日付間の値を取得するためにケース条件を使用したい。

テーブル名のユーザーと列の日付があり、日付条件を使用してデータベースから値を取得したい。

select sum(visitor) AS V FROM user  WHERE date  < '21-05-2012' AND dDateTime > '11-05-2012' 
select sum(visitor) AS c FROM user  WHERE date  < '21-06-2012' AND dDateTime > '11-06-2012'
select sum(visitor) AS s FROM user  WHERE date  < '21-07-2012' AND dDateTime > '11-07-2012'
select sum(visitor) AS g FROM user  WHERE date  < '21-08-2012' AND dDateTime > '11-08-2012'

このクエリ全体を単一のステートメントで作成する方法。

4

1 に答える 1

1

内部に asumがある例を次に示します。case

select sum(case when date < '21-05-2012' AND dDateTime > '11-05-2012' then visitor end) v 
,      sum(case when date < '21-06-2012' AND dDateTime > '11-06-2012' then visitor end) c
,      sum(case when date < '21-07-2012' AND dDateTime > '11-07-2012' then visitor end) s
,      sum(case when date < '21-08-2012' AND dDateTime > '11-08-2012' then visitor end) g
from   user
于 2012-06-05T06:38:45.660 に答える