MySQL - 如果column为null,则从另一个表中检索值

Fib*_*con 7 mysql sql select

假设我有一个包含一些值的表设置,包括名称,ID和引用另一个表的ID的外键.名称可以为null.当我从这个表中选择所有记录时,如果它不是null,我想得到它的名字.如果是,我想获取外键引用的记录的名称.我可以在必要时修改数据库结构,或者我可以简单地更改查询.我有什么选择?

Mar*_*ers 16

使用IFNULLCOALESCE:

SELECT T1.ID, IFNULL(T1.name, T2.name) AS name
FROM firsttable T1
LEFT JOIN secondtable T2
ON T1.T2_id = T2.id
Run Code Online (Sandbox Code Playgroud)