当我尝试使用mysql触发查询以连接3个表时,我收到以下错误:
错误代码:1064.您的SQL语法有错误; 查看与您的MySQL服务器版本对应的手册,以便mahara.group_member在第6行的'group INNER JOIN as group_members ON group_id = member' 附近使用正确的语法
Mysql是:
SELECT `mahara.group.id` as group_id,
`mahara.group.name` as group_name,
`mahara.group_member.member` as member_id,
`mahara.group_member.group` as member_groupid,
`mahara.usr.id` as user_id
FROM `mahara.group` as group
INNER JOIN `mahara.group_member` as group_members ON group_id = member_id,
INNER JOIN `mahara.usr` as users ON member_id = user_id
LIMIT 0, 200;
Run Code Online (Sandbox Code Playgroud)
对于我的生活,我看不出我做错了什么.任何帮助赞赏.
干杯
您的查询存在一些问题.
首先,您尝试使用保留字创建别名group.你必须使用反引号来逃避保留字.此外,您应该在表和列名称周围有单独的反引号集,它们不应该包含在一对中.
其次,在表上连接之后你有一个额外mahara.group_member的逗号,之后member_id,应删除逗号.
查询应该是:
SELECT `group`.`id` as group_id,
`group`.`name` as group_name,
group_members.`member` as member_id,
group_members.`group` as member_groupid,
users.`usr.id` as user_id
FROM `mahara`.`group` as `group`
INNER JOIN `mahara`.group_member` as group_members
ON group_id = member_id
INNER JOIN `mahara`.`usr` as users
ON member_id = user_id
LIMIT 0, 200;
Run Code Online (Sandbox Code Playgroud)
请注意,您应该避免使用保留字作为表,列和别名的名称.
| 归档时间: |
|
| 查看次数: |
5529 次 |
| 最近记录: |