create table tb(商品代碼 varchar(20), 商品名稱 varchar(20), 客戶代碼 varchar(20), 客戶名稱 varchar(20), 銷售數量 numeric(10), 金額 numeric(10)) Insert into tb select '001','撲克','01.01','信達','100','1000' union all select '002','玩具','01.01','信達','200','1000' union all select '003','筆','01.02','金蝶','50','500' union all select '004','橡皮擦','01.02','金蝶','1000','300' union all select '001','撲克','01.03','心中大','200','2000' union all select '003','筆','02.01','實達','1000','100' union all select '003','筆','03.01','中信','2000','2000'select * from tbselect * from (select 商品代碼 , 商品名稱 ,銷售數量=sum(銷售數量), 金額=sum(金額) from tb group by 商品代碼 , 商品名稱 union all select 客戶代碼 , 客戶名稱 ,銷售數量=sum(銷售數量), 金額=sum(金額) from tb group by 商品代碼 , 商品名稱,客戶代碼 , 客戶名稱 )a order by right(商品代碼,2)代码 名称 销售数量 金额 ---------------------------------------------- 001 撲克 300 3000 01.01 信達 100 1000 01.01 信達 200 1000 02.01 實達 1000 100 03.01 中信 2000 2000 01.02 金蝶 1000 300 01.02 金蝶 50 500 002 玩具 200 1000 003 筆 3050 2600 01.03 心中大 200 2000 004 橡皮擦 1000 300排序還有點問題
select 商品代碼 , 商品名稱 ,銷售數量,金額 from (select id=商品代碼,商品代碼 , 商品名稱 ,銷售數量=sum(銷售數量), 金額=sum(金額) from tb group by 商品代碼 , 商品名稱 union all select id=商品代碼,客戶代碼 , 客戶名稱 ,銷售數量=sum(銷售數量), 金額=sum(金額) from tb group by 商品代碼 , 商品名稱,客戶代碼 , 客戶名稱 )a order by id,商品代碼--結果 商品代碼 商品名稱 銷售數量 金額 ------------------------------------------- 001 撲克 300 3000 01.01 信達 100 1000 01.03 心中大 200 2000 002 玩具 200 1000 01.01 信達 200 1000 003 筆 3050 2600 01.02 金蝶 50 500 02.01 實達 1000 100 03.01 中信 2000 2000 004 橡皮擦 1000 300 01.02 金蝶 1000 300
select * from ( select 商品代码 as 商品代码2,商品代码,商品名称 ,销售数量=sum(销售数量), 金额=sum(金额),1 as dd from table1 group by 商品代码 , 商品名称 union all select 商品代码 as 商品代码2,' '+客户代码 as 客户代码, 客户名称 ,销售数量=sum(销售数量), 金额=sum(金额),2 as dd from table1 group by 商品代码 , 商品名称,客户代码,客户名称 )a order by 商品代码2,dd 谢谢楼上了
Insert into tb
select '001','撲克','01.01','信達','100','1000'
union all select '002','玩具','01.01','信達','200','1000'
union all select '003','筆','01.02','金蝶','50','500'
union all select '004','橡皮擦','01.02','金蝶','1000','300'
union all select '001','撲克','01.03','心中大','200','2000'
union all select '003','筆','02.01','實達','1000','100'
union all select '003','筆','03.01','中信','2000','2000'select * from tbselect * from
(select 商品代碼 , 商品名稱 ,銷售數量=sum(銷售數量), 金額=sum(金額) from tb group by 商品代碼 , 商品名稱
union all
select 客戶代碼 , 客戶名稱 ,銷售數量=sum(銷售數量), 金額=sum(金額) from tb group by 商品代碼 , 商品名稱,客戶代碼 , 客戶名稱
)a order by right(商品代碼,2)代码 名称 销售数量 金额
----------------------------------------------
001 撲克 300 3000
01.01 信達 100 1000
01.01 信達 200 1000
02.01 實達 1000 100
03.01 中信 2000 2000
01.02 金蝶 1000 300
01.02 金蝶 50 500
002 玩具 200 1000
003 筆 3050 2600
01.03 心中大 200 2000
004 橡皮擦 1000 300排序還有點問題
(select id=商品代碼,商品代碼 , 商品名稱 ,銷售數量=sum(銷售數量), 金額=sum(金額) from tb group by 商品代碼 , 商品名稱
union all
select id=商品代碼,客戶代碼 , 客戶名稱 ,銷售數量=sum(銷售數量), 金額=sum(金額) from tb group by 商品代碼 , 商品名稱,客戶代碼 , 客戶名稱
)a order by id,商品代碼--結果
商品代碼 商品名稱 銷售數量 金額
-------------------------------------------
001 撲克 300 3000
01.01 信達 100 1000
01.03 心中大 200 2000
002 玩具 200 1000
01.01 信達 200 1000
003 筆 3050 2600
01.02 金蝶 50 500
02.01 實達 1000 100
03.01 中信 2000 2000
004 橡皮擦 1000 300
01.02 金蝶 1000 300
( select 商品代码 as 商品代码2,商品代码,商品名称 ,销售数量=sum(销售数量), 金额=sum(金额),1 as dd
from table1 group by 商品代码 , 商品名称
union all
select 商品代码 as 商品代码2,' '+客户代码 as 客户代码, 客户名称 ,销售数量=sum(销售数量), 金额=sum(金额),2 as dd
from table1 group by 商品代码 , 商品名称,客户代码,客户名称
)a order by 商品代码2,dd
谢谢楼上了