1. 论坛系统升级为Xenforo,欢迎大家测试!
    排除公告

MSSQL大虾们,帮帮忙啊~~~,小弟急啊!

本帖由 lxyyzbh2006-08-30 发布。版面名称:后端开发

  1. lxyyzbh

    lxyyzbh New Member

    注册:
    2006-08-30
    帖子:
    2
    赞:
    0
    :cry:
    请MSSQL高手用SQL语句实现:
    A表
    syno seid date bnid num
    45 10229 2006072910:57:41 12 1
    45 10229 2006073011:10:28 12 1
    45 10229 2006073111:09:56 12 1
    45 10229 2006080110:56:38 12 1
    63 20004 2006073009:59:52 15 2
    63 10229 2006072910:00:15 15 1
    63 10229 2006073010:03:59 15 1
    63 10229 2006073110:02:49 15 1
    63 10229 2006080111:12:15 15 1
    191 20004 2006072915:38:26 12 2
    243 10090 2006072910:57:41 12 1
    526 10090 2006072911:09:59 13 2
    526 10090 2006073009:53:27 13 2
    526 10090 2006073110:36:11 13 -1
    667 10229 2006072816:57:41 12 3
    667 10029 2006072819:10:28 12 7
    667 20007 2006072820:01:26 12 8
    667 10229 2006073007:11:22 12 9
    667 10319 2006073111:09:56 12 4
    667 10229 2006080110:56:38 12 1
    667 10229 2006080211:06:38 12 6
    758 10053 2006072817:05:33 12 6
    758 10229 2006072910:57:41 12 2
    758 10229 2006073011:10:28 12 1
    758 10057 2006073111:09:56 12 7
    758 10229 2006080110:56:38 12 1
    833 10229 2006073017:15:39 12 4

    B表
    syno beid riqi bnid
    45 12021 2006072810:10:00 12
    63 15037 2006072816:08:43 15
    191 12028 2006072814:53:22 12
    191 12022 2006072911:30:30 12
    243 12032 2006072815:01:36 12
    243 14058 2006073016:30:35 14
    526 13026 2006072814:40:08 13
    526 13087 2006073108:52:27 13
    667 12007 2006072815:08:40 12
    667 12011 2006072818:16:45 12
    667 12012 2006073009:10:42 12
    758 12073 2006072816:00:00 12
    758 12051 2006072922:08:35 12
    833 12077 2006072920:07:21 12
    833 12063 2006073009:23:35 12
    说明:
    A表B表syno,bnid相关,相同syno在A表中的记录日期date总是小于B表riqi,
    要求:两个表相连后按照syno,beid,seid分组,计算num值,
    如果B表中相同的syno有多个记录,计算时要比较A表B表中的日期,
    判断A表中的日期记录在B表中的时间段,例:
    A表
    syno seid date bnid num
    667 10229 2006072816:57:41 12 3
    667 10029 2006072819:10:28 12 7
    667 20007 2006072820:01:26 12 8
    667 10229 2006073007:11:22 12 9
    667 10319 2006073111:09:56 12 4
    667 10229 2006080110:56:38 12 1
    667 10229 2006080211:06:38 12 6
    B表
    syno beid riqi bnid
    667 12007 2006072815:08:40 12
    667 12011 2006072818:16:45 12
    667 12012 2006073009:10:42 12
    结果应该是:
    syno beid seid sum(num)
    667 12007 10229 3
    667 12011 10229 16
    667 12011 20007 8
    667 12012 10319 4
    667 12012 10229 7

    总结果如下:
    syno beid seid sum(num)
    45 12021 10229 4
    63 15037 20004 2
    63 15037 10229 4
    191 12022 20004 2
    243 12032 10090 1
    526 13026 10090 4
    526 13087 10090 -1
    667 12007 10229 3
    667 12011 10229 16
    667 12011 20007 8
    667 12012 10319 4
    667 12012 10229 7
    758 12073 10053 6
    758 12073 10229 2
    758 12051 10229 2
    758 12051 10057 7
    833 12063 10229 4
    比较繁琐,我的QQ:10397449,希望能跟你们交个朋友
     
  2. 发布广告信息器

    注册:
    2006-09-02
    帖子:
    42
    赞:
    0
    真的牛,双手赞成,谢谢了
     
  3. 周董

    周董 New Member

    注册:
    2006-08-30
    帖子:
    1,798
    赞:
    20
    继续关注