我必须做一些计时工作。有些员工属于第一团队,有些员工属于第二团队。我需要显示一个简单的表格,其中包含登录者和登录时间以及一些其他基本信息。
如果 team1 和 team2 两个表具有相同的列(first_name
、last_name
和 date
),但绝对保证只有其中一个表将按行返回数据,如何避免使用一堆别名 (first_name AS team1_first_name
) 并且始终让 SQL 返回 first_name
?
示例查询:
SELECT *
FROM associates AS ac
LEFT JOIN team1 AS t1 ON (t1.id = ac.team1)
LEFT JOIN team2 AS t2 ON (t2.id = ac.team2)
ORDER BY ac.date DESC LIMIT 100;
最佳答案
由于 t1.first_name
和 t2.first_name
之一为 null,而另一个则不是,
您可以使用coalesce()
在这样的选择语句中:
select
coalesce(t1.first_name, t2.first_name) first_name,
coalesce(t1.last_name, t2.last_name) last_name,
.............................................
关于mysql - 从两个表之一中选择相同的数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55778224/