假设我有一个Person
表和一个Ball
表。每个Ball
都有一个color_id
,mark
(整数),并通过Person
属于person_id
。 color_id
类似于“红色”,“蓝色”,“绿色”等......
每个Person
可以包含任意数量Ball
的每种颜色(包括0):
这都是有效的
不,我需要:
Person
的列表,其中至少有一个定义颜色的球,没有其他颜色Person
的列表,其中至少有一个定义颜色的球,没有其他颜色,平均Ball
标记“一个定义颜色且没有其他颜色的球”的意思是,如果我选择“红色”和“绿色”球,我只对这些人感兴趣:
但不是那些:
我可以使用MySQL或pgsql,但如果有任何特定于供应商的解决方案,我也不介意看到它们。
此外,应用程序用户还可以过滤单一颜色:
或三种或更多种颜色