【问题标题】:SQL SELECT followed by UPDATESQL SELECT 后跟 UPDATE
【发布时间】:2013-02-17 11:06:12
【问题描述】:

我有 Employee 表和 HR 表。两个表中都有员工地址(地址列)。我想用 Employee 表中的地址更新 HR 表的地址列,对于所有这些记录,只要 HR 表的地址和同一雇员的 Employee 表的地址不匹配。employee-id 是员工表和外部的主键HR 表中的键。

【问题讨论】:

    标签: mysql sql select sql-update


    【解决方案1】:

    您仍然可以对 UPDATE 语句执行 JOIN

    UPDATE  HR a
            INNER JOIN Employee b
                ON a.EmpID = b.ID  -- relationship column
    SET     a.address = b.address
    WHERE   a.address <> b.address -- to make this query faster
                                   -- filter only those address that didn't match
    

    【讨论】:

    • 谢谢JW。小改变......如果我需要像地址一样说的东西,我还想更新两个表中也存在的“电话号码”列,在发现类似于地址的不匹配时。我们必须将查询中所有对应列的 SET & Where 子句分开,因为地址不匹配不能更新电话号码。
    猜你喜欢
    • 2021-03-30
    • 2011-06-28
    • 1970-01-01
    • 1970-01-01
    • 2018-01-26
    • 2020-01-25
    • 1970-01-01
    • 1970-01-01
    • 2021-12-27
    相关资源
    最近更新 更多