我正在查看IMDb的一些电影数据,我发现我的知识有限。以下是我正在查看的数据:
我想我会遇到这个当前表的问题。我怎样才能得到它,以便有两列,MovieID和Genre?然后它会导致MovieID不明显。这需要解开吗?
非常感谢任何帮助!
答案 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
如果你只想显示值为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