日期:2014-05-18  浏览次数:20488 次

求一条查许语句
现有3张表
1.user        
id               username
1                 小汪
2                 小张
2.定购表
id               userid           price         productid
1                     1                   1000               3
2                     1                   200                 4
3                     1                   400                 4  
4                     2                   400                 3  
5                     2                   3000               4
3.产品表
productid         product
3                           玩具
4                           茶杯


我现在想得到的查询结果是:按客户定购的总金额排序.比如
小张               玩具                 400
小张               茶杯               3000
                                  合计:           3400
小汪             玩具                 1000
小汪             茶杯                 200
小汪             茶杯                 400
                                合计:1600
象这样查询,sql语句该怎么写啊.

------解决方案--------------------
--實現大部分,不過還差一步,先貼出來

Create Table [user]
(id Int,
username Nvarchar(10))
Insert [user] Select 1, N '小汪 '
Union All Select 2, N '小张 '
Create Table 定购表
(id Int,
userid Int,
price Int,
productid Int)
Insert 定购表 Select 1, 1, 1000, 3
Union All Select 2, 1, 200, 4
Union All Select 3, 1, 400, 4
Union All Select 4, 2, 400, 3
Union All Select 5, 2, 3000, 4
Create Table 产品表
(productid Int,
product Nvarchar(20))
Insert 产品表 Select 3, N '玩具 '
Union All Select 4, N '茶杯 '
GO
Select
(Case When Grouping(C.product) = 1 Then N '合计 ' Else B.username End) As username,
C.product,