连接包含许多可能列的表

时间:2018-03-14 14:27:29

标签: mysql sql

我很难搞清楚这个问题的标题。

假设我们有三个表要加入USERS,SETTINGS和ADMINS:

SELECT 
users.name AS name, 
users.registered_date AS date FROM users 
LEFT JOIN settings ON users.id = settings.user_id 
WHERE users.id IS NOT NULL 
UNION ALL
SELECT 
users.name AS name, 
admin.registered_date AS date
FROM admins 
LEFT JOIN users ON admins.user_id = users.id 
WHERE admins.is IS NOT NULL
AS USERS;

这将显示来自加入了设置的用户的数据以及与用户AS USERS加入的管理员。但是当给定管理员没有引用用户时会发生什么?我假设名称将为null,但如果我想在这个地方有另一个值,我该怎么办。我的逻辑是:

i want the name to be users name if the user exists, if it doesnt i want it to be one of the admins column?

是否可以在此查询中实现? (问题清楚了吗?:])

0 个答案:

没有答案