怎样写这些问题sql语句?
table 
 主表: 
    dlid   日期   销售类型   部门编码   业务员编码   客户编码         
 子表 
    dlid   仓库   货物编码      数量   单价   金额   
 档案表:部门档案、客户档案、业务员、货物档案 
 每一年一个数据库,如sale_2006、sale_2007.   
 想查询以下结果 
 今年与去年相同期间销售额比较,1.可按部门、业务员、客户比较,表格如下 
 部门(或业务员或客户)│   2006年销售额(或2006年销售数量)│   2007年销售额(或2007年销售数量)│   增长额(增长数)│   增长百分比 
 2.可按部门货物、业务员货物、客户货物比较,表格如下 
 部门(或业务员或客户)│货物名称   2006年销售额(或2006年销售数量)│   2007年销售额(或2007年销售数量)│   增长额(增长数)│   增长百分比 
 3.      第1点与2点可按去年全年销售额大小排序,第2点可按先按部门\业务员\客户的增长额降序,再按货物增长额降序.   
 怎样写这些视图,或用存储过程,能使前台程序VB编程调用时快速方便,请各位高手相助,先谢谢!!
------解决方案----------------------用视图吧方便点 
 create view vDept2006 
 as 
 select 
 a.部门编码, 
 a.部门名称, 
 销售数量=sum(b.数量), 
 销售额=sum(b.单价*金额) 
 from 部门表 a  
 left join sale_2006.dbo.主表 b 
 on a.部门编码=b.部门编码 
 left join sale_2006.dbo.子表 c 
 on a.dlid=c.dlid 
 --这里不用where 日期=2006之类的了吧,2006年的库应该只有2006年的数据吧 
 group by a.部门编码,a.部门名称 
 go
------解决方案----------------------笔误,应该是sum(c.xxx) 
 create view vDept2006 
 as 
 select 
 a.部门编码, 
 a.部门名称, 
 销售数量=sum(c.数量), 
 销售额=sum(c.单价*金额) 
 from 部门表 a  
 left join sale_2006.dbo.主表 b 
 on a.部门编码=b.部门编码 
 left join sale_2006.dbo.子表 c 
 on a.dlid=c.dlid 
 --这里不用where 日期=2006之类的了吧,2006年的库应该只有2006年的数据吧 
 group by a.部门编码,a.部门名称 
 go