我目前正试图让我的头绕着我想要做的MySQL查询。很可能是因为我没有睡觉,所以我没有清楚地思考,但是我有一段时间以来一直困扰着我。在跨多个表建立连接查询时遇到困难
我想建立一个查询来返回我的网站上的用户有权访问的所有附件。每个附件都有一个与其关联的owner_id
,并且还有一些组通过groups_attachments
表链接到attachments
表。
所以我的表是:
+--------------------+
| attachments |
| groups |
| groups_attachments |
| users |
| users_attachments |
| users_groups |
+--------------------+
附件,组和用户都有自己的ID和链接表保存每个表的ID被链接。
我想选择从附件的所有字段如果任一attachment.owner_id
匹配users.user_id
或者如果users.user_id
处于users_attachments
(当所有者授予许可特异性)或者如果users.user_id
是在users_groups
用于经由相关的附件的组users_attachments
。
你先生是个天才!我只需要对第三部分进行小改动就可以运行。 而不是“从用户u”我需要“FROM users_groups ug”,并修正JOIN和WHERE适用 – samael