首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >组合来自2个“奇怪”表的数据

组合来自2个“奇怪”表的数据
EN

Stack Overflow用户
提问于 2016-02-08 03:02:21
回答 1查看 46关注 0票数 0

具有以下架构

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

  1. 将显示标题(Movies.Title)以及每部电影的类型(movie_Genres.movie_genre)。
  2. 这已经在(a)特定的时间段中看到了(比如说,对前妻来说是2-3天)。我们可以从Tickets.ticket_date (b)中获得男性客户(Customer.customer_sec)和(c)的评分超过4 (rated_customerRation)的时间。

我可以接近以下查询:

代码语言:javascript
复制
    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`;

我还在想,我会有麻烦,因为一部电影可以有多个类型,我不想要双线,为同一部电影,在我的结果。

任何帮助都会得到认真的问候!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-02-08 03:12:39

使用WHERE movie.ID IN (Select movie.id...)查询具有不寻常的查询关系。也就是说,如果movie.id可以与票相关

代码语言:javascript
复制
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')
)

我不知道您的DB模式,但这应该会给您一个粗略的想法,在一种方法上,根据观众的移动票?一张票应该有一个电影ID和一个客户,所以关系是很容易弄清楚的。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/35261792

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档