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表中的一些列的值。

    评论

报告相同问题?

悬赏问题

  • ¥30 STM32 INMP441无法读取数据
  • ¥100 求汇川机器人IRCB300控制器和示教器同版本升级固件文件升级包
  • ¥15 用visualstudio2022创建vue项目后无法启动
  • ¥15 x趋于0时tanx-sinx极限可以拆开算吗
  • ¥500 把面具戴到人脸上,请大家贡献智慧
  • ¥15 任意一个散点图自己下载其js脚本文件并做成独立的案例页面,不要作在线的,要离线状态。
  • ¥15 各位 帮我看看如何写代码,打出来的图形要和如下图呈现的一样,急
  • ¥30 c#打开word开启修订并实时显示批注
  • ¥15 如何解决ldsc的这条报错/index error
  • ¥15 VS2022+WDK驱动开发环境