LiPeng854 2022-03-07 14:15 采纳率: 75%
浏览 59
已结题

SQL 两列,第一列ID相同,第二列数据不全,增加第三列根据ID补全空值

SQL 两列,第一列ID列,第二列数值列,
多行第一列ID相同,
相同ID的第二列中,有些行的数值列有数据,有些行的数值列中为空,
增加第三列,怎么把相同ID第二列有值赋值给相同ID但第二列为空的SQL语句写法

img

  • 写回答

4条回答 默认 最新

  • DarkAthena ORACLE应用及数据库设计方案咨询师 2022-03-07 15:27
    关注

    我和楼上考虑的点是一样的,第二列存在多种值的时候,第三列的规则应该是怎样的?excel的vlookup是取的从上往下数第一条.
    另外,sql server2008支持的开窗函数太少了,first_value肯定是不支持的,可以改成用max,窗口里面不需要排序,但这就是假定第二列存在多种值的时候,第三列取第二列中的最大值了,题主并没有说清楚这个规则究竟应该是怎样的

    select t.*, max(第二列) over(partition by 第一列) 第三列 from table as t;
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(3条)

报告相同问题?

问题事件

  • 系统已结题 3月16日
  • 已采纳回答 3月8日
  • 创建了问题 3月7日