我有一张表 - 用户 - 我还有另一张表 - 颜色。每个用户都可以在 Colors 中创建更多记录,并且每条记录都由相关用户“拥有”(这意味着 Colors 拥有一个名为“Userid”的字段,与 Users 表中名为“Id”的字段相同) .
例子: 用户 Per 在 Colors 中创建了这些记录: 红色的 蓝色的 黑色
用户 Phil 在 Colors 中创建了记录。 蓝色
现在我想选择同时创建了 Blue 和 Red 的用户。我可以在一个选择语句中执行此操作吗?
谢谢!
最佳答案
尝试(例如,根据你的表结构修改!):
SELECT X.UserID FROM
(SELECT UserID, COUNT(DISTINCT COLOR) C FROM COLORS WHERE COLOR IN ( 'Red', 'Blue' ) GROUP BY UserID) X
WHERE X.C = 2
关于mysql选择,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7384142/