相邻相邻问题

 WITH   cte
          AS ( SELECT
 --ROW_NUMBER() OVER ( PARTITION BY StuID ORDER BY BZList.BZInputTime ) pid,
                        BZDate, BZInputTime, StuName, STUID, BZKTypeName,
                        BZData
               FROM     BZList
               WHERE    StuID = 26768
                        AND ( ( BZKTypeName = '桩考'
                                AND BZInfro = '不及'
                              )
                              OR ( BZKTypeName = '补考名单'
                                   AND BZData = '桩考'
                                 )
                            )
-- ORDER BY BZList.BZInputTime
                       
             )
    SELECT  BZDate, BZInputTime, StuName, STUID, BZKTypeName, BZInputTime1
    FROM    ( SELECT    ROW_NUMBER() OVER ( PARTITION BY stuid, s2.BZInputTime ORDER BY BZInputTime DESC ) PID,
                        *
              FROM      ( SELECT    s0.BZDate, s0.BZInputTime, s0.StuName,
                                    s0.STUID, s0.BZKTypeName,
                                    BZInputTime1 = s1.BZInputTime
                          FROM      ( SELECT    BZDate, BZInputTime, StuName,
                                                STUID, BZKTypeName, BZData
                                      FROM      cte
                                      WHERE     BZKTypeName = '桩考'
                                    ) s0
                                    JOIN ( SELECT   BZDate, BZInputTime,
                                                    StuName, STUID,
                                                    BZKTypeName, BZData
                                           FROM     cte
                                           WHERE    BZKTypeName = '补考名单'
                                         ) s1 ON s0.stuid = s1.stuid
                                                 AND s0.BZInputTime < s1.BZInputTime
                        ) s2
            ) s3
    WHERE   pid = 1
                       
 SELECT BZDate, BZInputTime, StuName, STUID, BZKTypeName, BZData
 FROM   BZList
 WHERE  StuID = 26768
        AND ( ( BZKTypeName = '桩考'
                AND BZInfro = '不及'
              )
              OR ( BZKTypeName = '补考名单'
                   AND BZData = '桩考'
                 )
            )
 ORDER BY BZList.BZInputTime

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值