gpt4 book ai didi

java - 如何连接子表的第一个结果

转载 作者:行者123 更新时间:2023-12-01 15:39:00 25 4
gpt4 key购买 nike

我的 SQL 表中有一对多关系,一部电影可以多次播出:

电影 -> movie_id、标题、...其他字段

播出 -> movie_id、date_time、channel_id

所以我想根据电影 id 返回一行,并内联返回按 date_time 排序的顶部播放内容。

这是我到目前为止所拥有的,但它不起作用。

SELECT m.movie_id, m.title, next_airing.date_time, next_airing.channel_id
FROM movies m

LEFT JOIN (
SELECT *
FROM movie_airings
ORDER BY date_time DESC

) next_airing
ON next_airing.movie_id=m.movie_id

WHERE m.movie_id = 2

这将返回 movie_airings 中的每一行,并附加电影详细信息:

 movie_id     title         date_time    channel_id 1            some title    1-11-2011    3 1            some title    2-11-2011    4 1            some title    3-11-2011    1

我哪里出错了?如果我在内部查询中使用 GROUP BY,我可以让它返回最后一个未排序的播放,但无法让它返回顶部排序的播放,因为 ORDER BY 和 GROUP BY 似乎不起作用。

你能帮忙吗?

最佳答案

SELECT m.movie_id, m.title, next_airing.date_time, next_airing.channel_id
FROM movies m

LEFT JOIN (
SELECT *
FROM movie_airings
ORDER BY date_time DESC

) next_airing
ON next_airing.movie_id=m.movie_id

WHERE m.movie_id = 2
LIMIT 1

关于java - 如何连接子表的第一个结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8389776/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com