JOIN我有3個表
1.角色(ID,...)
2.許可(ID,...)
3. role_permission(ID,ROLE_ID,permission_id)
MySQL的3個相表
我想要做的下一個:我應該選擇所有角色和所有權限的這個角色與一個查詢的幫助。我的測試查詢:
SELECT `rp`.*, `r`.`role`, `r`.`id` AS `role_id`, `p`.`id` AS
`permission_id`,`p`.`name` AS `permission` FROM `role_permission` AS `rp` RIGHT JOIN
`role` AS `r` ON r.id = rp.role_id RIGHT JOIN `permission` AS `p` ON p.id = rp.permission_id
但是這個查詢只選擇那些角色,有什麼權限。但我需要選擇所有角色和所有權限(在role_permission中存在行或不)。
預先感謝您。對不起我的英語不好。
這個答案不正確。請參閱下面的原因。具有權限1,2的角色將在此處顯示2行,並且永遠不會顯示在角色的role_permission中沒有條目的3,4。 – RichardTheKiwi 2011-01-22 22:03:07
對不起,但不正確。該查詢返回所有角色。但角色有權限。我也想選擇所有權限。請參閱@cyberwiki答案。他是對的。 – pltvs 2011-01-22 22:07:26