0

参加できるようにしたい2種類の複雑なクエリがありますが、それを行うための構文がよくわかりません。

クエリ1:

select month(Date_1) as Date_1, 
       sum(number_1) as number_1 
  from table_1 
  where Date_1 between '2012-01-01' and '2013-01-01' 
  group by month(Date_1);

これにより、次の結果が得られます。

ここに画像の説明を入力してください

クエリ2:

select count(distinct number_2) as number_2, 
       month(Date_2) as Date_2 
  from table_2 
  where Date_2 between '2012-01-01' and '2013-01-01' 
  group by month(Date_2) 
  order by month(Date_2) desc;

これにより、次の結果が得られます。

ここに画像の説明を入力してください

Date_1列とDate_2列が等しい場合に、number_1がnumber_2と一致するように、これら2つのクエリを結合したいと思います。月に1行。

誰かがそれを行う方法を知っていますか?

4

1 に答える 1

1
select T1.Date_1, T1.number_1, T2.number_2 from 

(select month(Date_1) as Date_1, 
       sum(number_1) as number_1 
  from table_1 
  where Date_1 between '2012-01-01' and '2013-01-01' 
  group by month(Date_1))T1

inner join

(select count(distinct number_2) as number_2, 
       month(Date_2) as Date_2 
  from table_2 
  where Date_2 between '2012-01-01' and '2013-01-01' 
  group by month(Date_2) 
  order by month(Date_2) desc)T2

on T1.Date_1 = T2.Date_2;

基本的に、その月に2つの一時テーブル(クエリの結果として形成される)を結合します。

于 2013-01-07T15:42:14.587 に答える