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