2016-03-15 72 views
-1

我有以下嵌套的mysql synta,它给了我一个1064错误代码。加入MySQL的嵌套查询

以下是查询。

SELECT m.member_id , m.username , m.email , g.permission 
FROM members m 
INNER JOIN members_groups q ON m.member_id = q.member_id 
INNERJOIN groups g on q.group_id = g.group_id 
WHERE username <> 'root' AND g.permission < 
(SELECT g.permission FROM members m 
INNER JOINmembers_groups q ON m.member_id = q.member_id 
INNER JOIN groups g on q.group_id = g.group_id WHERE m.member_id = 13) 

该代码涉及三(3)个表格。 会员表 | | members_groups表 | | groups表

members_groups表包含成员表和组表作为外键的主键。

下面是从MySQL控制台错误

#1064 - 你在你的SQL语法错误;检查对应于您的MySQL服务器版本为“上q.group_id = g.group_id WHERE用户名<> INNERJOIN组G‘根’及g.per”在行1

+0

有错误消息 – Strawberry

回答

1

附近使用正确的语法手动在JOIN周围需要适当的空间:

SELECT m.member_id , m.username , m.email , g.permission 
FROM members m INNER JOIN members_groups q ON m.member_id = q.member_id 
    INNER JOIN groups g on q.group_id = g.group_id 
WHERE username <> 'root' AND g.permission < 
    (SELECT g.permission 
    FROM members m INNER JOIN members_groups q ON m.member_id = q.member_id 
    INNER JOIN groups g on q.group_id = g.group_id WHERE m.member_id = 13) 
+0

没有看到一个线索 –