私は、各顧客の売り上げを合計売り上げで割ることによって値が導出される%共有列を作成したいと考えています。私は以下のクエリを使用しているが、列 'セール'が見つかりませんエラーを取得します。売り上げ列の合計600円を得る方法がありますか?助けてください...選択クエリの計算列?
Select IsNull([Customer].[FirstName],'Total') as Customer,
format(Sum([MY_DB].[dbo].[Order].[TotalAmount]),'0.00') [Sale],
FORMAT(sum([MY_DB].[dbo].[Order].[TotalAmount])/ sum([Sale]),'0.00%') as 'Share%'
From Customer
INNER JOIN [MY_DB].[dbo].[Order]
ON [Customer].[Id]=[MY_DB].[dbo].[Order].[CustomerId]
Group By [Customer].[FirstName] with Rollup
Having (Sum([MY_DB].[dbo].[Order].[TotalAmount]) > (Select AVG([MY_DB].[dbo].[Order].[TotalAmount]) From [MY_DB].[dbo].[Order]))
Order By [Customer].[FirstName] Desc;
- あなたは【セール】列を定義し、同じSQL内の関数で使用することはできません
Desired Result:
Customer Sale %Share
Zbyszek 100 16.66 %
Yvonne 200 33.33 %
Yoshi 300 50.00 %
該当する場合は、dbmsとバージョンにタグを付けてください。 –
私はMicrosoft SQL Server Management Studioを使用しています2016 –
'having '条件を使用する理由について説明できますか?クエリには表示されますが、期待される結果は表示されません。 –