Hjælp til SQL sætninger
Jeg har 3 tabeller i en MySQL database:users
-------------------------
| userIndex, PK |
| userName |
| userStatus |
| userType |
-------------------------
privilegez
-------------------------
| privIndex, PK |
| privUser, FK |
| privReference, FK |
| privStatus |
| privType |
-------------------------
menu
-------------------------
| menuIndex PK |
| menuName |
| menuStatus |
-------------------------
Jeg skal bruge to Sql sætninger:
------------------------
1.
Hvor alle records i 'menu' bliver valgt, inkl dem som en enkelt bruger har gennem sine 'privilegez'.
SELECT menuIndex, menuName, privUser, privStatus
FROM menu LEFT JOIN privilegez ON privReference = menuIndex
WHERE privType = 'menu' ANd menuStatus = 1 AND (privStatus = 1 AND privUser = "& userIndex &")
GROUP BY menuIndex
Men her kan jeg kun få den til at tage alle dem som 'userIndex' har?
-------------------------
2.
Alle menupunkter som 'user1' og 'user2' har tilfælles
Alle menupunkter som 'user1' har som 'user2' ikke har
Ikke de menupunkter som 'user2' har som 'user1' ikke har
SELECT DISTINCT menuIndex, menuName, privUser, privStatus
FROM menu, privilegez
WHERE privReference = menuIndex AND privType = 'menu' AND privStatus = '1'
AND ((privUser = "& user1 &") OR (privUser = "& user1 &" AND privUser = "& user1 &"))
Ovenstående virker sådan set meget godt, bortset fra jeg kan ikke skelne mellem hvilke poster de begge har, og hvilket kun den ene har?
-------------------------
3.
Hjælp mig venligst...?
