微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

sqlserver数据库中sql的使用

1. 分组排序更新

将分组记录中的第一条数据的某个字段更新到第二条数据上的字段;

--把序号为2的结束时间 更新为 序号为1的开始时间
WITH t2 as (
    SELECT * FROM(
        SELECT 
            ROW_NUMBER() OVER ( partition by C_BH_ZFXX ORDER BY DT_KSSJ DESC) as num,C_BH_ZFXX,DT_KSSJ,DT_JSSJ,C_BH
            FROM DB_JY..T_FJFY_FJJL 
        WHERE
        --c_bh_zfxx  in( ‘046B7C4311C0413FBD8A5B5EDC5C9460‘,‘087CE841726B43209439B09E87AE8C48‘) AND
        DT_JSSJ is NULL
    )b
    WHERE b.num=2
)
UPDATE t2 SET t2.dt_jssj = t1.dt_kssj FROM(
    SELECT * FROM(
        SELECT 
            ROW_NUMBER() OVER ( partition by C_BH_ZFXX ORDER BY DT_KSSJ DESC) as num,C_BH
            FROM DB_JY..T_FJFY_FJJL 
        WHERE
        --    c_bh_zfxx  in( ‘046B7C4311C0413FBD8A5B5EDC5C9460‘,‘087CE841726B43209439B09E87AE8C48‘) AND
             DT_JSSJ is NULL
        ) a WHERE a.num = 1
) t1
WHERE 
t1.C_BH_ZFXX = t2.C_BH_ZFXX

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐