2011-09-30 67 views
5

假设我有一个包含名称,ID和引用其他表的ID的外键的表设置。该名称可以为null。当我从这个表中选择所有记录时,如果它不是null,我想要获取该名称。如果是这样,我想获取外键引用的记录的名称。我可以根据需要修改数据库结构,或者我可以简单地更改查询。我有什么选择?MySQL - 如果列为空,则从另一个表中检索值

回答

13

使用IFNULLCOALESCE

SELECT T1.ID, IFNULL(T1.name, T2.name) AS name 
FROM firsttable T1 
LEFT JOIN secondtable T2 
ON T1.T2_id = T2.id 
+0

我们有winnar!谢谢! – Fibericon

1

使用ISNULLsql

SELECT T1.ID, ISNULL(T1.name, T2.name) AS name 
FROM firsttable T1 
LEFT JOIN secondtable T2 
ON T1.T2_id = T2.id 
相关问题