标签: mysql sql select
假设我有一个包含一些值的表设置,包括名称,ID和引用另一个表的ID的外键。名称可以为null。当我从这个表中选择所有记录时,如果它不是null,我想得到它的名字。如果是,我想获取外键引用的记录的名称。我可以在必要时修改数据库结构,或者我可以简单地更改查询。我有什么选择?
答案 0 :(得分:16)
使用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
答案 1 :(得分:1)
将ISNULL用于sql
ISNULL
sql
SELECT T1.ID, ISNULL(T1.name, T2.name) AS name FROM firsttable T1 LEFT JOIN secondtable T2 ON T1.T2_id = T2.id