我们有两张表dbo.MONITOR
(注册表)& sum_file_folder
(文件表)
dbo.MONITOR
- FILE_ID
- STATUS
sum_file_folder
- object_name
- file_status
其中,FILE_ID& object_name在两个表中都是相同的字段。
所以这些内连接查询不起作用......
update dbo.MONITOR t1 objects set t1.STATUS = (select file_status from sum_file_folder t2 where t1.FILE_ID=t2.object_name)
UPDATE t1 OBJECTS SET t1.STATUS = t2.file_status from sum_file_folder t1 INNER JOIN dbo.MONITOR t2 ON t1.object_name = t2.FILE_ID
答案 0 :(得分:0)
在您的查询中看起来有一些语法和表别名问题。
您可以尝试以下查询:
UPDATE t1
SET STATUS = t2.file_status
FROM dbo.MONITOR t1
INNER JOIN dbo.sum_file_folder t2 ON t2.object_name = t1.FILE_ID
答案 1 :(得分:0)
您可以使用此代码更新表格中的状态。
UPDATE t1
SET t1.STATUS = t2.file_status
FROM dbo.MONITOR t1
INNER JOIN sum_file_folder t2 where t1.FILE_ID=t2.object_name
答案 2 :(得分:0)
当您使用自己的表时,您可以安全地直接更新数据库 - 不需要DQL(sum_file_folder必须是自定义表 - 我之前没有见过)。 如果您遇到DQL,可以执行EXECUTE exec_sql WITH QUERY' your-sql-update-statement' 小心 - 这是自动提交的。