我有 3 张桌子
user
service
userServices
用户表
Id | Name | Status
------------------------
1 | User1 | y
2 | User2 | y
3 | User3 | y
4 | User4 | y
服务表
Id | ServiceName | Status
------------------------
1 | Service1 | y
2 | Service2 | y
3 | Service3 | y
4 | Service4 | y
用户服务表
Id | UserId | ServiceId | Status
-----------------------------------------
1 | 1 | 1 | y
2 | 1 | 3 | y
3 | 1 | 2 | y
4 | 1 | 4 | y
5 | 2 | 2 | y
6 | 2 | 3 | y
7 | 2 | 4 | y
8 | 3 | 1 | y
9 | 3 | 3 | y
10 | 3 | 4 | y
11 | 3 | 2 | y
我将获取服务 id 作为逗号分隔1,2,3
的字符串,就像输入一样,我需要检查哪个用户提供了所有服务。
例如; 用户 1 提供服务 1,3,2,4,而 1,2,3 是 1,3,2,4 的子集,所以应该返回这条记录。
用户 2 提供服务 2,3,4,因此 1,2,3 不是 2,3,4 的子集,则不应返回此记录。
我尝试过使用FIND_IN_SET with GROUP_CONCAT
用户的 id,但它不起作用。