0
このクエリをあまり醜くする方法はありますか?私は、コードの重複を避けたいと私はコードのように小さな作品サブクエリにパラメータを渡す
select
CB.CompanyName as ClientName,
Sum30 = (
select
sum(TotalAmount) as sum30
from
InvoiceBrowse
where
DATEDIFF(day, CreatedOn, @now) > @days_limit AND
DATEDIFF(day, CreatedOn, @now) <= 30 AND
ClientCompanyName = IB.ClientCompanyName
),
Sum60 = (
select
sum(TotalAmount) as sum30
from
InvoiceBrowse
where
DATEDIFF(day, CreatedOn, @now) > @days_limit AND
DATEDIFF(day, CreatedOn, @now) <= 60 AND
ClientCompanyName = IB.ClientCompanyName
),
Sum90 = (
select
sum(TotalAmount) as sum30
from
InvoiceBrowse
where
DATEDIFF(day, CreatedOn, @now) > @days_limit AND
DATEDIFF(day, CreatedOn, @now) <= 90 AND
ClientCompanyName = IB.ClientCompanyName
)
from
InvoiceBrowse IB
いくつかの説明のためのストアド・プロシージャまたは関数を作成する必要はありません:私は、請求書を持つテーブルを持っており、それぞれの会社のために請求書の合計を計算します30 \ 60 \ 90日間。
私が考えることのできる選択肢は「醜い」です。関数、ビュー、またはCTEがありますが、この小さな部分はあまり意味がない=) – Nikki9696
スカラー関数を使用できます。https://msdn.microsoft.com/en-us/library/ms191320.aspx – Hackerman
tsqlタグは重複していませんでした。ガイドラインはtsqlを使用することです。 – Paparazzi