lijun2128 2019-01-10 10:02 采纳率: 0%
浏览 192

同一样表关联更新,使用场景。

UPDATE A

          SET A.cloum1      = A1.cloum1,

           A.cloum2         = A1.cloum2,

      FROM test_table1      A ,

                            test_table1         A1 ,

            test_table2     R(NOLOCK)

     WHERE A.cloum3         = A1.cloum3

       AND A.cloum3         = R.cloum3

       AND A.cloum4         = R.cloum4

我想知道这个sql都做了什么?我理解的是只是把原来的额值再次赋给这个字段,这种场景在什么情况下使用呢?

  • 写回答

1条回答 默认 最新

  • 憧憬blog 2023-03-15 09:09
    关注

    这个SQL语句实际上是通过同一张表进行自我关联,然后根据test_table2表的条件进行更新操作。具体来说,它首先将test_table1表自连接成两个别名为A和A1的表,然后在WHERE子句中通过A.cloum3 = A1.cloum3的条件将它们关联在一起。然后,根据test_table2表的条件,它会更新A表中的cloum1和cloum2列的值为A1表中的cloum1和cloum2列的值。

    这种场景通常在需要把一个表的某些列的值更新成另一个表中相同列的值时使用。在该实例中,它是根据关联条件更新了test_table1表中的一些列的值。

    评论

报告相同问题?

悬赏问题

  • ¥15 下图接收小电路,谁知道原理
  • ¥15 装 pytorch 的时候出了好多问题,遇到这种情况怎么处理?
  • ¥20 IOS游览器某宝手机网页版自动立即购买JavaScript脚本
  • ¥15 手机接入宽带网线,如何释放宽带全部速度
  • ¥30 关于#r语言#的问题:如何对R语言中mfgarch包中构建的garch-midas模型进行样本内长期波动率预测和样本外长期波动率预测
  • ¥15 ETLCloud 处理json多层级问题
  • ¥15 matlab中使用gurobi时报错
  • ¥15 这个主板怎么能扩出一两个sata口
  • ¥15 不是,这到底错哪儿了😭
  • ¥15 2020长安杯与连接网探