私は、顧客の集計された売上データを含む必要があるview
を作成するためのクエリを作成していますが、新しい売上データは行ではなく列として追加されます。この表では、各行はcustomer ID
を表し、列は「week of 20160808
」です。 dynamically
へのクエリを作成する方法は、列名(20160801+20160808+20160815
)をハードコーディングせずに追加された新しい列をキャプチャしますか?SQLクエリを集計している列を集計する
0
A
答えて
0
私はそれはあなたに最高の名前の列を与えることはありません
SELECT Year(DateOfSale), CustomerId, [1] ... [52] FROM YourDataTable
Pivot(sum(sales) FOR WeekNumber IN (1..52)) as Pivoted
ような何かをするだろうが、あなたはそれを表示するとき、あなたはそれを片付けることができます。
0
XQueryでビューが許可されているかどうかわかりません。そうならば、あなたはこれを試してください:テーブル
with MyTable(CustId, week0, week1, week2) as (
select 1, 1,2,3
union all
select 2, 1.50, 2.25, 3.01
union all
select 3, 111.11, 222.22, 555.55
)
ため例えば
select CustId,
(select * from MyTable where CustId = x.CustId for xml path('row'), type).value('sum(row/*[not(self::CustId)])','float')
from MyTable x
結果は
CustId
----------- ----------------------
1 6
2 6,76
3 888,88
と
with MyTable(CustId, week0, week1, week2, week3) as (
select 1, 1,2,3,4
union all
select 2, 1.50, 2.25, 3.01, 0
union all
select 3, 111.11, 222.22, 333.33, 1000
)
同じクエリが意志のテーブルのためであります
CustId
----------- ----------------------
1 10
2 6,76
3 1888,88
関連する問題
- 1. 集計SQLクエリ
- 2. SQL集計クエリ - カウントヌル
- 3. SQL集計合計集計
- 4. ElasticSearch集計集計クエリ
- 5. MS Access - ダイナミッククロス集計クエリ - 集計用VBA列合計を提供する行
- 6. SQL Server 2005の集計クエリ
- 7. ダブルピボット。いいえ集計して集計
- 8. 特定の列を集計するSQL
- 9. SQLで列を集計する
- 10. SQL Server集計/日付の集計
- 11. 集計クエリ(SUM)
- 12. シングル集計クエリ
- 13. 集計クエリ
- 14. 集計の集約クエリ
- 15. Oracle SQLクエリの列を集計する方法は?
- 16. 集計されていない集計SSAS集計
- 17. SQL集計クエリエラー
- 18. SQL集計
- 19. T-SQL集計
- 20. 集計SQL式
- 21. SQL集計ウィンドウ
- 22. Sql集計関数を使用して列の値を選択するクエリ?
- 23. Oracle、Sql Server、およびMongodbに対する集計/集計レポートデータベース
- 24. SSRS:集計集計合計
- 25. 大量のデータをリアルタイムで集計して集計する
- 26. MongoDBの集計クエリ
- 27. OData集計クエリ(Count:
- 28. mongoDb $ in集計クエリ
- 29. 春データ集計クエリ
- 30. IDごとに1つの列に集計/集計して平均とすべての列を計算する
動的列作成の**醜さ**の他に、動的SQLも考えられます。 – FDavidov
しかし、 '動的なsql'は' view'では動作しません – Squirrel
ビューでなければなりませんか?ストアドプロシージャや関数はどうでしょうか?しかし、真剣に高い優先順位 - これは最悪の可能なテーブルの設計についてであり、それはあなたに問題の終わりを与えません –