Я работаю над запросом для создания view
, который должен содержать агрегированные данные о продажах для клиентов, но новые данные о продажах добавляются как столбцы вместо строк. В таблице каждая строка представляет customer ID
, а столбцы - «week of 20160808
». Есть ли способ создать запрос в dynamically
, чтобы добавить новые столбцы без жесткого кодирования имен столбцов (20160801+20160808+20160815
)?SQL Query to Aggregate Growing Columns
0
A
ответ
0
Я хотел бы сделать что-то вроде
SELECT Year(DateOfSale), CustomerId, [1] ... [52] FROM YourDataTable
Pivot(sum(sales) FOR WeekNumber IN (1..52)) as Pivoted
Это не даст вам лучшие поименованные столбцы, но вы могли бы привести в порядок, что, когда вы показываете его.
0
Я не знаю, разрешено ли XQuery во взглядах. Если да, то вы можете попробовать это:
select CustId,
(select * from MyTable where CustId = x.CustId for xml path('row'), type).value('sum(row/*[not(self::CustId)])','float')
from MyTable x
Например для таблицы
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
)
результат
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
)
же запрос будет get
CustId
----------- ----------------------
1 10
2 6,76
3 1888,88
Смежные вопросы
- 1. WP7 LINQ to SQL и Aggregate query
- 2. T-Sql aggregate query
- 3. SQL Aggregate Query - Count Nulls
- 4. kendogrid aggregate on dynamic columns
- 5. Cypher Query to Aggregate Relationship Properties
- 6. sql from row to columns
- 7. Django aggregate query
- 8. Azure Growing Sql Database
- 9. Omit Aggregate Column in SQL Query
- 10. MYSQL QUERY SHOW COLUMNS LIMIT
- 11. Pivot in Pivot Columns in SQL Query
- 12. Oracle SQL Query with Additional Summation Columns
- 13. SQL Query to Django Query
- 14. Scala, casbah aggregate query
- 15. nodejs + mongoose - query aggregate
- 16. Комплекс MongoDB query aggregate
- 17. SQL To Aggregate by Category Membership
- 18. hibernate query partial columns
- 19. Subsonic 3 query - aggregate error
- 20. Sql Query to Linq To Sql
- 21. SQL Query to txt
- 22. Linq to SQL - Query
- 23. LINQ TO SQL Query
- 24. LINQ to SQL query
- 25. SQL Query To JPQL
- 26. SQL Query to Hibernate
- 27. Linq to SQL: Left Join to MAX aggregate
- 28. Результат Aggregate HQL to list
- 29. Gridview Columns to Excel
- 30. span10 to 3 columns
Помимо ** уродства ** создания динамического столбца, вы можете рассмотреть динамический SQL. – FDavidov
, но 'dynamic sql' не работает в' view' – Squirrel
Это должно быть представление? как насчет хранимой процедуры или функции? Но серьезно высокий приоритет - это о худшем возможном дизайне стола, и это не даст вам никаких проблем –