作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一张 table 有艺术家,另一张 table 有版画。我想从 Artist 表中获取所有内容,而只是从 Prints 表中获取 print_id。想象一下,如果我有 3 位艺术家 A、B 和 C。想象一下,如果艺术家 A 和 B 参与了 print 1 和 2。艺术家 C 参与了 print 2 和 3。我想要的是关于艺术家 A 和 B 的信息,因为他们参与了打印 1 以及他们参与的其他打印(在本例中为打印 2)。
表艺术家:艺术家 A - 巴西。艺术家 B - 美国。艺术家 C - 比利时。
表格打印:1 - 波浪。2 - map 。3 - 夜晚。
预期结果:艺术家 A - 巴西 - 1。艺术家 A - 巴西 - 2。艺术家 B - 美国 - 1.艺术家 B - 美国 - 2.
我正在这样尝试,但出现了一些错误...
SELECT
*
FROM
(SELECT DISTINCT
artist.*
,print.print_id
FROM
artist
JOIN print ON artist.artist_id = print.artist_id
WHERE
print.print_id = 1
INTERSECT
SELECT DISTINCT
artist.*
,print.print_id
FROM
artist JOIN print ON artist.artist_id = print.artist_id
)
最佳答案
您可以尝试对您拥有的表(选择)使用连接
SELECT * FROM (
SELECT DISTINCT
Artist.*,
Print.print_id
FROM Artist
JOIN Print
ON Artist.artist_id = Print.artist_id
WHERE Print.print_id=1
) as T1
JOIN
(
SELECT DISTINCT
Artist.*,
Print.print_id
FROM Artist
JOIN Print ON Artist.artist_id = Print.artist_id
) as T2
ON T1.artist_id = T2.artist_id
本质上选择是在表中,而 INTERSESCT 对应于带有两个表/选择的联合键键的 INNER JOIN
关于mysql - 如何将两个 Selects 与 Joins 相交?数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35384972/
我是一名优秀的程序员,十分优秀!