mysql - 没有结果显示 AND 错误以及 where 子句

标签 mysql sql

所以我正在尝试获取仅在管理员角色中具有名称的值 当我在 FROM 命令之后放置 WHERE 命令时,我收到一条错误消息

#1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'INNER JOIN `users` AS `u` ON u.uid = ur.uid INNER JOIN `role` AS `r` ON r.rid = ' at line 9

但是当我把它放在整个事情的最后时,它在下面,我没有得到任何错误,但我也没有得到任何结果!

SELECT f.field_first_name_value,
l.field_last_name_value,
r.name,
u.name,
u.mail,
u.created
FROM `users_roles` AS `ur`
INNER JOIN `users` AS `u` ON u.uid = ur.uid
INNER JOIN `role` AS `r` ON r.rid = ur.rid
INNER JOIN `field_data_field_first_name` AS `f` ON f.entity_id = ur.uid
INNER JOIN `field_data_field_last_name` AS `l` ON l.entity_id = ur.uid
WHERE 'role.name' = 'admin'

我该怎么做才能得到我想要的。

最佳答案

将其更改为:

WHERE r.name = 'admin'

按照您的编写方式,您是在比较两个文字字符串,而不是将列与字符串进行比较。

此外,您必须使用 r.name 而不是 role.name -- 一旦您为表分配了别名,就无法引用原始表表名。

关于mysql - 没有结果显示 AND 错误以及 where 子句,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21444274/

相关文章:

mysql - 为什么 SELECT CAST ('1cat' AS SIGNED) = '1cat' ;是真的?

php wordpress函数,单引号字符串解释

mysql - 找不到“./mysql/user.MYD”(错误代码 : 13 - Permission denied)

sql - Oracle SQL Operator >= 比 > 具有更高的性能

php - 如何通过两个 AND 条件过滤一列?

php - 在 php 代码中插入复选框

mysql - 使 SQL 查询变得更好的更简单方法

sql - 带连接的 Postgres RETURNING 子句

MySQL 一个查询中的多个联接?

sql - 类似于mysql sql where子句中的MAX