【发布时间】:2017-03-05 03:43:50
【问题描述】:
我正在制作一个 PHP 脚本来显示当前用户所属的用户角色。 数据在 mySQL 中,我想要显示所有可用的角色,并在所有角色中显示用户所属的位置。
这是我的角色表
CREATE TABLE roles(
roleID int unsigned not null auto_increment primary key,
nombreRol char(50) not null
)
这里的角色是:
registered
pending
student
former-student
这是连接 usuarios 表和角色表的表
CREATE TABLE rolesUsuarios (
rolesUsuariosID int unsigned not null auto_increment primary key,
userID int not null,
nombreRol char(50) not null
)
我正在尝试像这样创建一个 LEFT JOIN:
SELECT
roles.nombreRol,
rolesUsuarios.userID
FROM roles
LEFT JOIN rolesUsuarios
ON roles.nombreRol = rolesUsuarios.nombreRol
WHERE rolesUsuarios.userID = 183
(我现在不关心安全性,只是检查查询是否有效)
在示例中,用户 183 具有角色已注册和学生。
预期的结果应该是这样的:
nombreRol -------- userID
registered ------- 183
pending ---------- NULL
student ---------- 183
former-student --- NULL
但我得到了这个结果:
nombreRol -------- userID
registered ------- 183
student ---------- 183
如何更改加入? (我已经按照示例here 进行了操作,它确实在那里工作,我认为我正确地遵循了查询的逻辑)
【问题讨论】:
-
` OR.... 为空`
-
@PM77-1 - 不。