दुर्भाग्य से, आपको दो शीर्ष प्रश्नों को निचली क्वेरी से निकालने के लिए दो बार करना होगा:
SELECT p.*, 1 as enabled
FROM member_permissions mp
JOIN permissions p ON p.permission_id = mp.permission_id
WHERE member_id = 1
UNION
SELECT pgp.*, 1 as enabled
FROM member_permissions mp
JOIN permission_link pl ON pl.permission_group_id = mp.permission_group_id
JOIN permissions pgp ON pgp.permission_id = pl.permission_id
WHERE member_id = 1
UNION
SELECT *, 0 as enabled
FROM permissions p where p.permission_id not in (
SELECT p.permission_id
FROM member_permissions mp
JOIN permissions p ON p.permission_id = mp.permission_id
WHERE member_id = 1
UNION ALL
SELECT pgp.permission_id
FROM member_permissions mp
JOIN permission_link pl ON pl.permission_group_id = mp.permission_group_id
JOIN permissions pgp ON pgp.permission_id = pl.permission_id
WHERE member_id = 1
)