日期:2014-05-16  浏览次数:20454 次

??? 简单SQL语句,动态表 ???
T1为产品销量表,T2为产品表,T3为客户表 (T1、T2产品相同,T1、T3客户相同) ,T3客户信息是动态的,T3客户一变T4表肯定变,要统计T4表的样式,根据T2所有产品列出14年1月份的合计数量与金额,样式T4,请问该如何写SQL语句,2000环境? 

T1
产品 客户 数量 金额 日期
001  杭州  1       10      2014-01-05
001  杭州  2       14      2014-01-10
002  上海  1        3       2014-01-20

T2
产品 名称
001   苹果
002   香蕉
003   水蜜桃

T3
地区 客户   
浙江 杭州
上海 上海
..    ..

统计2014年1月销售表:T4

产品 名称 杭州|数量 杭州|金额 上海|数量 上海|金额 ..数量 额  合计|数量  合计|金额 
001   苹果    3                24               0             0         ..          ..             3                  24
002   香蕉    0                  0               1              3        ..           ..             1                    3
003   水蜜桃 0                  0               0              0        ..           ..             0                    0

------解决方案--------------------
IF EXISTS(SELECT NAME FROM sys.objects AS o WHERE NAME = 't1')
DROP TABLE t1
GO

CREATE TABLE t1(id VARCHAR(03) , custnm NVARCHAR(10) , qty INT , amt INT , [date] DATE)

GO
INSERT INTO t1 
SELECT '001' , N'杭州' , 1 , 10 , '2014-01-05' UNION ALL
SELECT '001' , N'杭州' , 2 , 14 , '2014-01-05' UNION ALL
SELECT '002' , N'上海' , 1 , 3 , '2014-01-05' 
GO

IF EXISTS(SELECT NAME FROM sys.objects AS o WHERE NAME = 't2')
DROP TABLE t2
GO

CREATE TABLE t2(diqu NVARCHAR(4) ,&