超市定单表
订单号 物品
1 啤酒
1 尿布
2 香烟
2 台灯
2 铅笔
3 啤酒
3 尿布写sql找出所有的物品组合 每种组合的销售数量 如下所示物品组合代号 组合内的物品
A 啤酒
A 尿布
B 香烟
B 台灯
B 铅笔
组合代号 销售数量
A 34545
B 23
订单号 物品
1 啤酒
1 尿布
2 香烟
2 台灯
2 铅笔
3 啤酒
3 尿布写sql找出所有的物品组合 每种组合的销售数量 如下所示物品组合代号 组合内的物品
A 啤酒
A 尿布
B 香烟
B 台灯
B 铅笔
组合代号 销售数量
A 34545
B 23
title 够吸引人的
订单号 .........物品
1............. 啤酒
1 .............尿布
2 .............香烟
2 .............台灯
2 .............铅笔
3 .............啤酒
3 .............尿布写sql找出所有的物品组合 每种组合的销售数量 如下所示物品组合代号............. 组合内的物品
A.......................... 啤酒
A.......................... 尿布B ..........................香烟
B ..........................台灯
B ..........................铅笔这个就像是把订单表分组了 分为A和B 对应上表的 1和2 (3因为和1重复)组合代号 .............销售数量
A .....................34545
B....................... 23
B ..........................香烟
B ..........................台灯
B ..........................铅笔那这个组合也是成立的了?
C ..........................香烟
C ..........................啤酒
C ..........................铅笔
----------------------------------------
猜一下if object_id('定单表') is not null drop table 定单表
create table 定单表
([订单号] int,
[物品] varchar(20),
[数量] int
)
go
--插入数据
insert into 定单表
select 1,'啤酒',1 union all
select 1,'尿布',1 union all
select 2,'香烟',2 union all
select 2,'台灯',2 union all
select 2,'铅笔',2 union all
select 3,'啤酒',3 union all
select 3,'尿布',3if object_id('组合表') is not null drop table 组合表
create table 组合表
([组合代号] varchar(4),
[组合内的物品] varchar(20)
)
go
--插入数据
insert into 组合表
select 'A','啤酒' union all
select 'A','尿布' union all
select 'B','香烟' union all
select 'B','台灯' union all
select 'B','铅笔' --查询
select 组合代号,sum(数量) as 销售数量 from 定单表 left join 组合表 on 物品=组合内的物品
group by 组合代号/*
组合代号 销售数量
-----------
A 8
B 6*/