2.有商品类型表A,有g_billno,g_dldate,g_dlstate,有商品表B(g_id,g_billNo,g_price(价
格),g_number(数量))
(4)查询2009的季度销售额 ,Q1为第一季度的某一个商品的销售额,Q2为第二季度的某一个商品的销售额
...以此类推
g_goodId Q1 Q2 Q3 Q4
1 1230 3235 3546 8745
2 43545 2343 435 4365
要用PIVOT 行转列。
题目你没说清楚。g_billNo是什么?也没说哪个字段是销售日期或季度
他里面的g_billNo应该是订单号吧,先根据两个表Join出每种商品各个季度个销售总额,然后使用Pivot行转列就行了。
CREATE TABLE #A
(
g_goodid int,
[quarter] varchar(2),
goodqty int
)
INSERT INTO #A
SELECT 1,'Q1',1235 UNION ALL
SELECT 1,'Q2',1212 UNION ALL
SELECT 1,'Q3',2365 UNION ALL
SELECT 1,'Q4',7895 UNION ALL
SELECT 2,'Q1',1256 UNION ALL
SELECT 2,'Q2',1985 UNION ALL
SELECT 3,'Q1',1256 UNION ALL
SELECT 3,'Q2',1985
SELECT * FROM #A
PIVOT
(
sum(goodqty) FOR [quarter] IN([Q1],[Q2],[Q3],[Q4])
)
a
效果如下图: