当前位置: 代码迷 >> Sql Server >> SQL语句写的更上一层楼要求!
  详细解决方案

SQL语句写的更上一层楼要求!

热度:16   发布时间:2016-04-24 19:25:07.0
SQL语句写的进一步要求!!!
http://bbs.csdn.net/topics/390674401
这个是前面一个已经解决的SQL,在此基础上,增加以下条件,该怎么写,再次感谢大家的帮忙。

员工表 TP
 员工代码  姓名      薪水       职务
 psnCode, psnName, psnSalary, psnDuty
   101      张三     2000.00     总经理
   102      李四     3000.00     副总经理
   103      王五     4000.00     业务员
   104      小六     5000.00     总监
   105      小7      5500.00     总监

销售主表TM
    销售主表ID   员工代码    销售日期
    SaleID,      psnCode,    Date
     A001        101         2013-12-09 12:00:13
     A002        101         2013-10-09 12:00:13
     A003        102         2013-11-09 12:00:15
......

销售子表TD
    子表ID  主表ID  物品ID  物品数量    物品总价
    TDID, SaleID,   wuID,   nNums,     nPrice
     1     A001      A       100        2500
     2     A001      B       150        2530
     3     A001      C       50         12530
     4     A002      A       150        112530
收款表TS(增加一个这个表)
    表ID   销售主表ID,  业务员      收款日期     类别     金额
    TSID    SaleID,   psnCode,   TSDate      nType   nMoney
     1       A001       101      2013-12-18   1       1000
     2       A002       101      2013-12-19   2       500
收款金额   : 条件1:1000 + (-500) 其中 1表示收款 2表示退款; 条件2: 收款时间在指定的月份内
及时收款金额: 条件1:1000 + (-500) 其中 1表示收款 2表示退款; 条件2:销售时间再指定月内;
            条件3:收款时间-销售主表时间《=10天  4:收款表中的SaleID=TM.SaleID

                            
要求:
    现在要查找在指定时间范围内的,指定职务的所有销售人员每个月的销售数量和物品总价格
    比如:查询总监职务的人员在2013-10,2013-12这3个月中,每个月的销售数量和总价值以及收款金额
     
    业务员   姓名   日期      销售数量  销售金额  收款金额   及时收款金额
    104      小六   2013-10   1890      23456.32    500       100
    104      小六   2013-11   2890      22456.32    0         120
    104      小六   2013-12   3890      28456.32    0         38
    105      小7    2013-10   1890      23456.32    0         90
    106      小7    2013-11   2890      22456.32    0         60
    107      小7    2013-12   3890      28456.32    0         345
------------------------------------------------------------------------------------------------------------