-2
レポートとレポートの作成(MS SQL SERVER 2014)では、前月の最終日、先週の同じ日、先月の取引数と金額を比較し、このようなクエリが必要です。作業されていない。ケース選択FROM連合
Select
Acquirer = case when Date = @Day then a.Acquirer
when Date = @LastWeekDay then b.Acquirer
when Date = @LastMonthDay then c.Acquirer
end
, RC = case when Date = @Day then a.RC
when Date = @LastWeekDay then b.RC
when Date = @LastMonthDay then c.RC
end
, Desc = case when Date = @Day then a.Desc
when Date = @LastWeekDay then b.Desc
when Date = @LastMonthDay then c.Desc
end
, Day_Tr_Count = case when Date = @Day then a.Count end
, LWD_Tr_Count = case when Date = @LastWeekDay then b.Count end
, LMD_Tr_Count = case when Date = @LastMonthDay then c.Count end
, Day_Tr_Amount = case when Date = @Day then a.Amount end
, LWD_Tr_Amount = case when Date = @LastWeekDay then b.Amount end
, LMD_Tr_Amount = case when Date = @LastMonthDay then c.Amount end
from
(select * from T1
union
select * from T2
union
select * from T3) x
group by Acquirer,RC,Desc
をすべての3つのテーブルはかなり同じ構造を持っている:
T1,T2,T3(acquirer,RC,Desc,Count,Amount,Date).
報告書は次のようになります。
result_table(Acquirer,RC,Desc,Daily_Count,Last_Week_Day_Count,Last_Month_Count,Daily_Amount,Last_Week_Day_Amount,Last_Month_Day_Amount)
ステップ1:おそらく 'UNION ALL'が必要です。 – jarlh
どのように*動作していない*? –
一般的なGROUP BYルールでは、「GROUP BY句が指定されている場合、SELECTリストの各列参照は、グループ化列を特定するか、または集合関数の引数でなければなりません。 – jarlh