我有两个表,分别称为“membership”和“restricted”。查询匹配子查询的所有数据和所有数据的表也应该与普通数据匹配
表:成员
+---------+--------+
| GroupID | UserID |
+---------+--------+
| 10001 | 605 |
| 10001 | 255 |
| 10002 | 605 |
| 10004 | 222 |
| 10003 | 605 |
| 10002 | 501 |
+---------+--------+
表:限制 表称为限制是具有受限制的GroupID和对应的内容识别给该组被限制。
+---------+-----------+
| GroupID | ContentId |
+---------+-----------+
| 10001 | 33333 |
| 10001 | 22222 |
| 10002 | 22222 |
| 10004 | 44444 |
| 10003 | 22222 |
| 10002 | 44444 |
+---------+-----------+
我想从受限制的表中获取用户标识所属的所有组的ContentID。
即。 正如在UserID = 605的示例数据中,组ID是“10001,10002,10003”,我需要获得对用户605列出的所有组ID的限制的ContentID。
预期的ContentID in这个案例是'22222'。
最终目标是获取ContentID的列表,该列表在该用户标识的所有组中都受到限制。如果ContentID在组中没有任何限制,那么contentID不再被视为受限制。
选择\t内容识别FROM限制WHERE群ID IN(SELECT GroupID从成员身份WHERE用户ID = 505) – user4130072 2014-10-10 16:10:47
但它在这里获得记录它会插入任何一个组ID,因为我正在使用IN – user4130072 2014-10-10 16:11:27
在成员和组之间建立适当的多对多关系,并且此任务将变得微不足道。如果你不明白我刚才所说的话,我已经听说过关于这本书的数据库设计的一些好消息。 – 2014-10-10 16:18:01