陌上清云 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 Stata链式中介效应代码修改
  • ¥15 latex投稿显示click download
  • ¥15 请问读取环境变量文件失败是什么原因?
  • ¥15 在若依框架下实现人脸识别
  • ¥15 网络科学导论,网络控制
  • ¥100 安卓tv程序连接SQLSERVER2008问题
  • ¥15 利用Sentinel-2和Landsat8做一个水库的长时序NDVI的对比,为什么Snetinel-2计算的结果最小值特别小,而Lansat8就很平均
  • ¥15 metadata提取的PDF元数据,如何转换为一个Excel
  • ¥15 关于arduino编程toCharArray()函数的使用
  • ¥100 vc++混合CEF采用CLR方式编译报错