0
我使用的是SQL Server 2008 R2中,有一個表:的Transact SQL - 查詢的彙總
,我需要把它概括爲:
我正在嘗試使用多維數據集/彙總和分組函數,但我堅持如何解決它。 所以我會問,如果有人可以,請幫助,並告訴我這個結果的查詢。
在此先感謝。
我使用的是SQL Server 2008 R2中,有一個表:的Transact SQL - 查詢的彙總
,我需要把它概括爲:
我正在嘗試使用多維數據集/彙總和分組函數,但我堅持如何解決它。 所以我會問,如果有人可以,請幫助,並告訴我這個結果的查詢。
在此先感謝。
正如我所說,我是堅持如何解決它。但我有一些偉大的鏈接它幫了我很多思考和解決問題,例如:http://blogs.msdn.com/b/craigfr/archive/2007/09/21/aggregation-with-rollup.aspx
這是我解決的方法:
select
0 order_customer,
customer_ID,
0 order_product,
product_ID,
0 tipo_linha,
subProduct_description,
subProduct_balance
from products
union all
select
GROUPING(customer_ID) order_customer,
customer_ID,
GROUPING(product_ID) order_product,
product_ID,
1 tipo_linha,
CASE
WHEN (GROUPING(customer_ID) = 1) THEN 'Grand Total'
WHEN (GROUPING(product_ID) = 1) THEN 'Total of products by customer '
+ cast(customer_ID as varchar)
ELSE 'Total by product ' + cast(product_ID as varchar)
END msg,
sum(subProduct_balance) balance
from products
group by rollup(customer_ID, product_ID)
order by order_customer, customer_ID, order_product, product_ID, tipo_linha
這確實應該在報告層上完成的,不在數據庫中(特別是如果你想要不同的顏色和粗體) – Lamak
對不起。不重視顏色和任何格式。我只需要按順序的數據。 – jMarcel
即使您忽略了顏色和文本格式,請查看您想要的數據。您應該如何知道第一個'ID by ID'產品的總數是用於最好的產品?以及最貴的客戶嗎?在您的示例中,其他每列都是空白的,因此無法區分它們。 – Lamak