sql查询
表1:t_yjxm
一级项目编号 一级项目名称
01 咖啡
02 酒水
03 茶艺
04 甜点
......
表2:t_ejxm
一级项目编码 二级项目编码 二级项目名称
01 0100 蓝山咖啡
01 0101 哥伦比亚
02 0200 皇家礼炮
02 0201 张裕解百纳
......
表3:t_xf
会员卡号 二级项目编码 数量 时间
199999 0100 1 2007-12-12
199999 0201 1 2007-12-20
199999 0101 2 2007-12-24
199999 0100 1 2007-12-26
现在想得到199999会员卡在12月分总共消费了哪些项目和数量,这个查询怎么写?谢谢
二级项目编码 一级项目名称 数量
0100 咖啡 2
0101 咖啡 2
0201 酒水 1
[解决办法]
select B.A二,一级项目名称,B.Acot
from t_yjxm,(select 一级编码,A.二级编码 A二,A.cot Acot
from t_ejxm ,(select 二级编码,count(数量) cot from t_xf
where 会员卡号 = ''199999' and to_char(时间,'yyyy-mm') = '2007-12'
group by 二级编码)A
where A.二级编码 = t_ejxm.二级编码)B
where t_yjxm.一级项目编号 = B.一级编码
[解决办法]
select t_ejxm.二级项目编码,t_yjxm.一级项目名称,
sum(t_xf.数量) from t_yjxm,t_ejxm,t_xf
where t_yjxm.一级项目编码 = t_ejxm.一级项目编码
and t_ejxm.二级项目编码 = t_xf.二级项目编码
and t_xf.时间 between '2007-12-01' and '2008-12-31'
group by t_ejxm.二级项目编码,t_yjxm.一级项目名称
order by t_ejxm.二级项目编码;
[解决办法]
樓主題目有問題,沒有說明統計的項目是一級還是二級或是一級+二級。其實這個很簡單的select,就是一個SUM()+ Group by .
建議樓主好好看書。 :)