我正在尝试使用来自另一个表的匹配值来更新我的结果表。虽然,更新,是否有可能显示尚未更新(不匹配)的记录?
BEGIN WORK
UPDATE results, testcases
SET results.testset = testcases.TestSet
WHERE results.TestCase = testcases.TestCase
答案 0 :(得分:0)
立即回答是选择符合WHERE
条款的所有条款,但SET
结果不是:
SELECT *
FROM results, testcases
WHERE results.TestCase = testcases.TestCase
AND resutls.testset <> testcases.TestSet
答案 1 :(得分:0)
我假设你想要这个的原因,而更新是为了避免由于并发更新导致的错误信息。如果不是这样,只需使用显示的查询。
单个查询无法实现。因此,您需要使用事务边界,并查询提示以保持锁定以执行存在查询以查找不匹配的行。
SELECT *
FROM Results r
WHERE NOT EXISTS (
SELECT *
FROM TestCases t
WHERE r.TestCase = t.TestCase
)