假设我有一个表设置,其中包含一些值,包括名称,ID和引用另一个表的ID的外键。名称可以为空。当我从该表中选择所有记录时,如果名称不为null,我想获取名称。如果是这样,我想获取外键引用的记录的名称。我可以根据需要修改数据库结构,也可以简单地更改查询。我有什么选择?
使用IFNULL或COALESCE:
IFNULL
COALESCE
SELECT T1.ID, IFNULL(T1.name, T2.name) AS name FROM firsttable T1 LEFT JOIN secondtable T2 ON T1.T2_id = T2.id