gpt4 book ai didi

mysql - 合并 2 个 "strange"表中的数据

转载 作者:行者123 更新时间:2023-11-29 21:31:02 26 4
gpt4 key购买 nike

具有以下架构

(ER of DataBase)我正在尝试创建一个查询

  1. 将显示标题(电影.标题)以及每部电影的类型(movie_Genres.movie_genre) 对于每部电影..

  2. (a)特定时间段内(例如 2-3 天)出现过的内容。我们可以从Tickets 中获取这些天数.ticket_date) (b) 由男性顾客 (Customer.customer_sec) 和 (c) 这些客户的评分超过 4 (erated_customerRation)。

我可以得到与以下查询一样接近的结果:

    SELECT 
`movie_title`, `movie_Genres`.`movie_genre`
FROM
`Movies`
INNER JOIN
`movie_Genres` ON `mg_movie` = `movie_ID`
INNER JOIN
`Rated` ON `rated_movie_ID` = `movie_ID`
WHERE `rated_customerRatio` > 4 AND
UNION
(SELECT
`customer_sex`, `rated_customerRatio`
FROM
`Customer`
/* INNER JOIN
`cinema`.`Rated` ON `Rated`.`rated_customer_tabID` = `Customer`.`customer_tabID`
*/
INNER JOIN
`cinema`.`Tickets` ON `Tickets`.`ticket_customer_tabID`=`Customer`.`customer_tabID`
WHERE
`customer_sex` LIKE 'Male'
/* AND rated_customerRatio > 4 */
AND `Tickets`.`ticket_date` > '2016-02-16')
GROUP BY `movie_title`;

此外,我认为我会遇到麻烦,因为一部电影可以有多个类型,而且我不希望同一部电影在我的结果中出现双线。

我们将认真对待任何帮助!

最佳答案

使用WHERE movie.ID IN (Select movie.id...)查询来获得不寻常的查询关系。即 movie.id 是否可以与门票相关

WHERE MovieID IN
(
SELECT
MovieID
FROM
MovieTable
LEFT JOIN TICKETS ON MovieID = TICKETS.movieID
LEFT JOIN CUSTOMER ON TICKETS.ID = CUSTOMER.ID
WHERE
CUSTOMER.customer_sex LIKE 'Male'
AND Tickets.ticket_date > '2016-02-16')
)

我不知道您的数据库架构,但这应该能让您大致了解一种基于门票移动收视率的排序方式? 1 张票应该有 1 个电影 ID 和 1 个顾客,因此这种关系很容易弄清楚

关于mysql - 合并 2 个 "strange"表中的数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35261792/

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