我陷入了一个奇怪的境地。它是这样的:
我有 2 张桌子。一个称为 users,其中包含我所有的用户/密码详细信息,然后我有另一个名为 userFiles 的表,其中包含用户 ID 和他有权访问的文件的 fileID。
现在,请注意,1 个帐户可以拥有多个文件的权限,多个帐户可以拥有 1 个文件的权限。
所以基本上,第一张桌子有,说:
- ID:1,姓名:bob,密码:helloWorld
- ID:2,姓名:phil,密码:what'sUp?
在表 2 中,说:
- uID:1,fID:67
- uID:1,fID:68
- uID:1,fID:36
- uID:2,fID:67
- uID:2,fID:68
- uID:2,fID:102
现在,这就是我想要做的:
我想选择所有用户!(在这种情况下都是!),另外,我想加入另一个表,但我只想加入我指定特定 fID 的行!
例如,我想用 fID 67 查询用户和用户权限
我想得到这个:
- ID:1,姓名:bob,密码:helloWorld,uID:1,fID:67
- ID:2,姓名:phil,密码:what'sUp?,uID:2,fID:67
并且,对于 fID 102(即使它给出的值不是 NULL,我也可以在我的 PHP 代码中使用它,这很好)
- ID:1,名称:bob,密码:helloWorld,uID:NULL,fID:NULL
- ID:2,名称:phil,密码:what'sUp?,uID:2,fID:102
这是我尝试使用的查询
SELECT * FROM users LEFT JOIN userFiles ON users.ID=userFiles.uID WHERE userFiles.fID = 102
但是,这个查询只返回一行,而我不想同时返回。
如果您不能给我一个 mySQL 解决方案,请尝试帮助我,以便我可以过滤掉结果,并使用 PHP 获得我想要的东西......
万分感谢!