假设我有一个表格,其中包括名称、ID以及引用另一个表的ID的外键等几个值。名称可以为空。当我从这个表格中选择所有记录时,如果名称不为空,我想要获取它。如果为空,则想要获取到外键引用的记录的名称。如果必要,我可以修改数据库结构,或者我可以更改查询语句。我的选择是什么?
使用 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
在sql中使用ISNULL SELECT T1.ID, ISNULL(T1.name, T2.name) AS name FROM firsttable T1 LEFT JOIN secondtable T2 ON T1.T2_id = T2.id