我有两张桌子:
TblAchievements>> [ID, AchName]
TblUsersAchievements>> [UserID, AchID]
我需要的结果是这样的(假设有 4 个成就并且用户 1 已经实现了 1 和 2:
ID AchName UserID AchID
1 first 1 1
2 second 1 2
3 third NULL NULL
4 fourth NULL NULL
我尝试了这样的事情:
SELECT
tblacheivements.id,
tblacheivements.achname,
tbluserachievements.uid,
tbluserachievements.achid
FROM
tbluserachievements
RIGHT OUTER JOIN tblacheivements ON (tbluserachievements.achid = tblacheivements.id)
WHERE
tbluserachievements.uid = 1 OR
tbluserachievements.uid IS NULL
它得到了正确的结果,但是当我更改用户时,结果是错误的。