陌上清云 2021-11-05 13:50 采纳率: 33.3%
浏览 54
已结题

关于#sqlserver#的问题:处理表数据

在 MSSQL中有一张表,如下:

img


表一

我想要做到如下效果:

img


图二

用SQL 语句与C#语法都可以,求个思路
表一中的数据是写入数据库的,我想要做的是从数据库中读取表一中的数据,用C#语法或者SQL 语句将表一中的数据根据时间和ID逐一遍历写入一个list集合,集合字段如图二,想过用 if else 但觉得太过繁琐有没有更合适的方法?

软件版本:SQL server 2019 vs2019 一个winform程序

  • 写回答

2条回答 默认 最新

  • CSDN专家-showbo 2021-11-05 16:57
    关注

    用row_number排名下得到相同id的2个不同排名表自连接下
    数据

    img


    查询结果

    img

    
    select t1.id,t1.数据 as 历史版本数据1,t1.生产时间 as 数据产生时间
    ,t2.数据 as 历史版本数据2,t2.生产时间 as 数据产生时间
    ,getdate() as 对比时间
    ,case when t1.数据=t2.数据 then '一致' else '不一致' end as 备注
    
    from(
    select id,数据,生产时间 ,row_number() over(partition by id order by 生产时间 asc) rn from table_1)t1 ,
    (select id,数据,生产时间 ,row_number() over(partition by id order by 生产时间 desc) rn from table_1)t2
    where t1.id=t2.id and t1.rn=1 and t2.rn=1
    

    有帮助麻烦点下【采纳该答案】,谢谢~~

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 11月13日
  • 已采纳回答 11月5日
  • 修改了问题 11月5日
  • 创建了问题 11月5日

悬赏问题

  • ¥15 mysql , 用自己创建的本地主机和用户名 登录不上
  • ¥15 关于#web项目#的问题,请各位专家解答!
  • ¥15 vmtools环境不正常
  • ¥15 请问如何在Ubuntu系统中安装使用microsoft R open?
  • ¥15 jupyter notebook
  • ¥30 informer时间序列预测
  • ¥20 SSR引物多态性分析
  • ¥15 大漠插件在Win11易语言注册调用和免注册灵异事件,VS上注册调用完全没问题
  • ¥15 Addressable缓存机制做热更新的问题
  • ¥15 微信开发者工具vant组件