作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
基于this image (不过忘记“流派”):
我有一个 Actor 列表,需要检索包含列表中每个 Actor 的电影列表。
示例数据:
INSERT INTO actor (actor_id, name) VALUES
(1, "Alice"), (2, "Bob");
INSERT INTO film (film_id, title) VALUES
(1, "Star Wars"), (2, "The Matrix"), (3, "Lion King);
INSERT INTO actor_film_mapping (actor_id, film_id) VALUES
(1, 1),
(1, 2), (2, 2),
(2, 3);
寻找例如包含爱丽丝和鲍勃的电影列表应该只给我《黑客帝国》
我最接近的是this query它会选择包含我的 Actor 列表中的任何的电影,而不是包含全部的电影。
在 StackOverflow 上寻找类似的答案,我得到了 this它在 MSSQL 中运行良好,但在 MySQL 中则不行。
希望我已经正确表达了这个问题。我是 StackOverflow 新手
最佳答案
你们已经很接近了。不要使用 select unique
,而是使用 having
进行聚合并计算匹配数:
SELECT f.*
FROM film f INNER JOIN
actor_film_mapping afm
ON f.film_id = afm.film_id
WHERE afm.actor_id IN (1, 2)
GROUP BY f.film_id
HAVING COUNT(*) = 2;
关于mysql - 选择表 A 中与表 B 中的一组项目相连接的行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37381672/
我是一名优秀的程序员,十分优秀!