0
A
回答
0
基本上是:
UPDATE a SET a.FIELD = (CASE WHEN b.FIELD IS NULL or b.FIELD = '' THEN c.FIELD ELSE b.FIELD END)
FROM TABLEA a
LEFT JOIN TABLEB b on a.id = b.someid
LEFT JOIN TABLEC c on a.id = c.someid
加入也可以不留,這取決於你的數據,你可能要處理的其中兩個b.field和c.field是空的情況。
4
用途:從左至右
UPDATE A
SET column = (SELECT COALESCE(b.val, c.value)
FROM B b
JOIN C c ON c.col = b.col)
COALESCE將列的列表,返回處理的第一個非空值。
有什麼奇怪的是,你沒有提供表B和表C如何相互關聯 - 如果它們不反正,你正在看兩張表的笛卡爾積(不理想)。我的答案使用JOIN,希望可以根據數據進行。
相關問題
- 1. 使用映射表更新基於其他兩個值的值
- 2. SQLite的 - 更新基於值從其他兩個表列列
- 3. PostgreSQL - 使用同一表中其他列的值更新一列
- 4. Oracle:通過其他表中的值更新表a中的列
- 5. 更新列與其他表中的列?
- 6. 如何更新mySQL中其他兩個表的數量列?
- 7. 使用其他兩個表上的查詢結果更新表
- 8. 使用其他兩個表的更新表
- 9. 如何使用第一列的值更新其中第二列將被更新的一個表中的兩列?
- 10. 基於兩個其他表的內部聯接更新表中的值?
- 11. 根據其他表中的值更新Oracle中的列
- 12. 如何使用其他三個表中列的平均值更新一個表中的分數列?
- 13. 根據其他表中的更新更新列表
- 14. 從其他表更新表,其中行等於一個值
- 15. 使用兩個先前列表中的值創建新列表
- 16. 一次更新兩個表,使用第一個表中的值
- 17. 從表中更新值如果從其他兩個表值匹配
- 18. 從其他表中更新的表中的聚合值
- 19. 更新基於同一表中的其他列的多個列
- 20. 幫助使用同一個表的其他列更新列
- 21. 使用同一列中的其他值更新列值
- 22. 如何用兩個其他表中的數據填充新表?
- 23. 如何計算我的SQL中兩個其他表列的值
- 24. Oracle:使用其他表中的值進行更新
- 25. 使用其他列表中的值減少列表
- 26. SQL使用兩個表中的值作爲其他列名作爲列名
- 27. C#更新對象列表中的值也會更新其他值
- 28. 更新基於其他列表發生的更新列表
- 29. 排序列表其他兩個列表
- 30. 迭代兩個ArrayList,使用新列表中的值更新原始值
哪個數據庫引擎? – 2010-07-21 17:52:00