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

时间:2011-09-30 07:43:31

标签: mysql sql select

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

2 个答案:

答案 0 :(得分: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

答案 1 :(得分:1)

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