当前位置:编程学习 > C#/ASP.NET >>

组合查询

有两个表:
表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
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,