组合查询
有两个表:表1 有 身份证号码,产品名称,销售数,日期 四个字段
表2 有 姓名,身份证号码,分店号 三个字段
现在我只懂得用以下这个语句查询到表1中,某个产品的,每个员工的销售数总和.
select dinstinct 身份证号码,产品名称, sum(销售数) as expr1 from 表1 group by 身份证号码,产品名称 having 产品名称='保湿霜'
现在要求做到:
组合查询两表,要求查询,在2010-01-01至2010-01-31 时间段里,保湿霜这个产品,每个员工销售数的总和.并要求能显示每个员工的姓名与属于那个分店号,谢谢 --------------------编程问答-------------------- 新建的web技术交流群,欢迎大家加入一起讨论:
群号:29037453 --------------------编程问答-------------------- select 表2.姓名,
表2.分店号,
t1.产品名称,
ti.expr1
from 表2,(select dinstinct 身份证号码,产品名称, sum(销售数) as expr1 from 表1 group by 身份证号码,产品名称 having 产品名称='保湿霜'
) t1
where 表2.身份证号码 = t1.身份证号码 --------------------编程问答-------------------- select b.姓名,b.分店号,sum(a.销售数) from 表1 a join 表2 b on a.身份证号码=b.身份证号码 where a.日期 between '2010-01-01' and '2010-01-31' --------------------编程问答-------------------- 你的表没有normalise好,重新设计吧。
表1中吧产品分出去做新表,然后用产品ID做外键引用回表1,另外表1缺主键,身份证号是表2作为外键引用进来的。
--------------------编程问答-------------------- select dinstinct 表1.身份证号码,产品名称, sum(销售数) as expr1,max(姓名)as 姓名,max(分店号)as 分店号 from 表1,表2 where 表1.身份证号码=表2.身份证号码 and 日期 between '2010-01-01' and '2010-01-31'
group by 表1.身份证号码,产品名称 having 产品名称='保湿霜'
补充:.NET技术 , ASP.NET