没有动画的电影类型

时间:2015-08-24 20:14:06

标签: sql sql-server unpivot imdb

我正在查看IMDb的一些电影数据,我发现我的知识有限。以下是我正在查看的数据:

enter image description here

我想我会遇到这个当前表的问题。我怎样才能得到它,以便有两列,MovieID和Genre?然后它会导致MovieID不明显。这需要解开吗?

非常感谢任何帮助!

1 个答案:

答案 0 :(得分:0)

我确实认为UNPIVOT会给你那种你追求的东西。这样的事情应该有用(我故意将这个例子简化为仅包括三种类型,但你应该能够从我所做的事情中得到这个想法): -

SELECT MovieID, Genre, [Count]
FROM 
    (SELECT MovieID, Crime, Comedy, Drama --comma separated list of the genres
    FROM MovieGenres) p
UNPIVOT
    ([Count] FOR Genre IN 
        (Crime, Comedy, Drama) --list genres again
    ) as upvt

SQLFIDDLE

如果你只想显示值为1的类型/ movieID,那么在上面添加一个WHERE子句就是一个简单的例子: -

SELECT MovieID, Genre, [Count]
FROM 
    (SELECT MovieID, Crime, Comedy, Drama --list your genres here
    FROM #MovieGenres) p
UNPIVOT
    ([Count] FOR Genre IN 
        (Crime, Comedy, Drama) --list genres again, same order
    ) as upvt
WHERE [Count] = 1