使用動態SQL語句實現簡單的行列轉置(動態產生列)

2021-08-26 12:09:40 字數 1904 閱讀 6824

原始資料如下圖所示:(商品的銷售明細)

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語句寫法

-- 整理報表需要的格式

-- 按日期彙總行

-- 處理資料:將空值的字段填入數字0;

使用動態SQL語句實現簡單的行列轉置(動態產生列)

原始資料如下圖所示 商品的銷售明細 date 業務日期 item 商品名稱 saleqty 銷售數量 建立測試資料 表 create table test date varchar 10 item char 10 saleqty int insert test values 2010 01 01 a...

使用動態SQL語句實現簡單的行列轉置(動態產生列)

原始資料如下圖所示 商品的銷售明細 date 業務日期 item 商品名稱 saleqty 銷售數量 建立測試資料 表 create table test date varchar 10 item char 10 saleqty int insert test values 2010 01 01 a...

動態SQL語句的拼接實現

平常經常遇到一些語句需要使用動態語句,來實現作業任務的計畫執行。例如動態表名,在分表設計時使用了月份格式 a 201912 在實現此類格式表名的作業任務時,必須採用動態語句,以避免每月更換一次sql語句的尷尬。現將部分實際操作經驗總結如下 一 基本語句格式 定義變數,給變數賦值,使用變數拼接sql,...