我有一个存储默认配置的表和一个存储用户配置的表。我可以加入这两个表并获取我需要的所有信息,但是我希望在第二列中存在值时,可能有更简洁的方法用另一个列覆盖一列。
示例:
当前查询结果:
id defaultValue userValue
1 one ONE
2 two
3 three THREE
4 four
欲望查询结果:
id value
1 ONE
2 two
3 THREE
4 four
也许没有一个好的方法可以做到这一点......我想问一下,如果存在方法,那么在MySQL中执行它可能比在PHP中执行它更快。
答案 0 :(得分:6)
您可以使用COALESCE()
:
SELECT id, COALESCE(uservalue,defaultvalue) AS value
FROM table