2016-03-15 54 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

沒有看到一個線索 –