ACCESS中SQL查询问题(200分)

  • 主题发起人 主题发起人 不起眼的流星
  • 开始时间 开始时间

不起眼的流星

Unregistered / Unconfirmed
GUEST, unregistred user!
有如下数据库
款号  品名  颜色  单位  尺码  数量  价格
fm001 上衣  红 件   xl 2 200.00
fm001 上衣  白 件   xl 2 200.00
fm001 上衣  蓝 件   xl 2 200.00
fm001 上衣  红白 件   xl 2 200.00
fm001 上衣  红 件   2xl 9 200.00
fm002 裤子  黑 件   3xl 5 150.00
。。。
想通过SQL得出下列查询表
款号  品名  颜色  单位  价格 xl 2xl 3xl
fm001 上衣  红 件   200 2 9 0
fm001 上衣  白 件   200 2 0 0
。。。
fm002 裤子  黑 件   150 0 0 5
。。。
其中xl,2xl,3xl等等为尺码数据在数据库中可以得到
请各位帮帮我
 
select t.款号 款号, t.品名 品名,t.颜色 颜色,t.单位 单位,
t.价格 价格,a.数量 xl,b.数量 2xl,c.数量 3xl
from total t,
(select 款号,数量 from total where 尺码 = 'xl') a,
(select 款号,数量 from total where 尺码 = '2xl') b,
(select 款号,数量 from total where 尺码 = '3xl') c
where t.款号 = a.款号
and t.款号 = b.款号
and t.款号 = c.款号
在此认为款号是确定一件衣服的唯一标识,不过看上去不像,呵呵。
 
select tmp.款号,
tmp.品名,
tmp.颜色,
tmp.单位,
tmp.价格,
(select sum(数量)
from 表名 as S1
where S1.款号 = tmp.款号
and S1.品名 = tmp.品名
and S1.颜色 = tmp.颜色
and S1.单位 = tmp.单位
and S1.价格 = tmp.价格
and S1.尺码 = 'xl') as xl,
(select sum(数量)
from 表名 as S2
where S2.款号 = tmp.款号
and S2.品名 = tmp.品名
and S2.颜色 = tmp.颜色
and S2.单位 = tmp.单位
and S2.价格 = tmp.价格
and S2.尺码 = '2xl') as 2xl,
(select sum(数量)
from 表名 as S3
where S3.款号 = tmp.款号
and S3.品名 = tmp.品名
and S3.颜色 = tmp.颜色
and S3.单位 = tmp.单位
and S3.价格 = tmp.价格
and S3.尺码 = '3xl') as 3xl
from (select distinct 款号, 品名, 颜色, 单位, 价格 from 表名) Tmp
 
后退
顶部