2017-05-11 1 views
0

Ich muss mit MySQL Query helfen.Ich bekomme doppelte Registrierung

ich mache eine Erlaubnis CRUD auf PHP und ich kann nicht die richtige Abfrage erhalten, um alle Berechtigungen, die nicht bestimmte Rolle wie "admin" hat keine "clientpanel" Erlaubnis, das Problem ist, dass wenn „Client“ und „admin“ Rolle die gleiche Berechtigung (Zugang) wie „Produkte“ hat, wird die Abfrage zeigt mir die „Produkt Erlaubnis id“ von „Client“ Hier ist die Abfrage:

SELECT permission.perm_desc 
    FROM role_perm 
INNER JOIN roles 
    ON role_perm.role_id =roles.role_id 
INNER JOIN permission 
    ON role_perm.perm_id = permission.perm_id 
WHERE role_perm.role_id != 1 

i‘ Ich bekomme Ergebnisse von anderen Rollen, ich möchte filtern, um diejenigen zu zeigen, die nicht haben. Das macht mich verrückt. enter image description here

enter image description here

Antwort

0
SELECT * 
    FROM role_perm 
LEFT JOIN roles 
    ON role_perm.role_id =roles.role_id 
LEFT JOIN permission 
    ON role_perm.perm_id = permission.perm_id 
WHERE role_perm.role_id = 1 

Ich habe absichtlich die letzten Teile des Problems als eine Übung für den Leser

Verwandte Themen