使用动态SQL语句实现简单的行列转置(动态产生列)
原始数据如下图所示:(商品的销售明细) date=业务日期;Item=商品名称;saleqty=销售数量; -- 建立测试数据(表) create table test (Date varchar(10), item char(10),saleqty int) insert test values('2010-01-01','AAA',8) insert test values('2010-01-02','AAA',4) insert test values('2010-01-03','AAA',5) insert test values('2010-01-01','BBB',1) insert test values('2010-01-02','CCC',2) insert test values('2010-01-03','DDD',6) 需要实现的报表样式:每一行既每一天,显示所有商品(列)该天的销售数量; 实现的方法和思路如下: -- 实现结果的静态SQL语句写法 -- 整理报表需要的格式 select date, case item when 'AAA' then saleqty when null then 0 end as AAA, case item when 'BBB' then saleqty when null then 0 end as BBB, case