我正在尝试优化此查询,但我似乎无法得到它。任何帮助都非常受欢迎。这是在存储过程中,因此 1 被 IN 参数替换。
表userGroupRelation
userGroupID BIGINT --> 组表中 userGroupID 的外键
userID BIGINT --> users 表的外键
表文件夹
ownerID BIGINT --> users 表的外键
postersGroup BIGINT --> 组表中 userGroupID 的外键
其他的东西 ...
SELECT folders.*,COUNT(userGroupRelation.userID) AS users
FROM folders
LEFT JOIN userGroupRelation
ON folders.postingGroupID = userGroupRelation.userGroupID
WHERE folders.ownerID = 1
OR userGroupRelation.userGroupID IN (
SELECT userGroupID FROM userGroupRelation WHERE userID = 1)
GROUP BY folders.folderID;
我基本上想获取用户可以看到的所有文件夹(因为他拥有它或者因为他在该文件夹的一组海报中)