【问题标题】:Update table using inner join on several fields在多个字段上使用内部联接更新表
【发布时间】:2014-01-21 04:06:45
【问题描述】:

我有这个问题:

update B
set B.NBR_OF_BACKUP=B.NBR_OF_BACKUP - 1
FROM BACKUP_TABLE B
INNER JOIN tbl I ON B.ID_BACKUP=i.id_backup 

在表tbl我有:

ID_BACKUP ID_IMAGES
1         2
1         3
1         4
6         3

我的查询仅针对不同的id_backup 进行更新 但我还需要更新表格BACKUP_TABLE 的次数与表格tbl 中的相同id_backup 相同

【问题讨论】:

    标签: sql sql-server sql-server-2008 sql-update inner-join


    【解决方案1】:

    我想你想要的是这样的:

    update B
    set B.NBR_OF_BACKUP=I.NBR_OF_BACKUP - 1
    FROM BACKUP_TABLE B
    INNER JOIN (SELECT id_backup, count(*) as nbr_of_backup FROM tbl GROUP BY id_backup) I 
    ON B.ID_BACKUP=i.id_backup 
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-01-15
      • 1970-01-01
      • 1970-01-01
      • 2011-07-10
      • 2020-06-16
      • 2011-01-27
      相关资源
      最近更新 更多