2015-10-04 174 views
-2

我有两个表在我的数据库具有以下模式:SQL查询帮助(连接两个表)

ratings table: 
usedId 
movieId 
rating 

info table 
movieId 
imdbId 

每个表中的movieId值相同(即movieId 1是同一部电影两个) 。

每个movieId & userId在收视表中多次出现。

我所要做的是创建一个新表,看起来像:凡imdbId为每个其原始表的movieId匹配添加一行

new table: 
userID 
movieId 
imdbId 
rating 

+2

非常基本的问题。在Sql中寻找'Join' –

回答

2
select ratings.userID, ratings.movieId, info.imdbId, ratings.rating from 
ratings inner join info on ratings.movieId = info.movieId 
+0

非常好,谢谢 – Benirving92

2

或者您也可以手动连接两个表:

SELECT r.userID, r.movieId, i.imdbId, r.rating 
FROM ratings r, info i 
WHERE r.movieId = i.movieId 
2

您应该使用SQL Join创建您的预计表。

select Rating.userID, Rating.movieId, Info.imdbId, Rating.rating 
from ratings as Rating 
inner join 
info as Info on ratings.movieId = info.movieId 

要获得加入更多的细节检查这个inner join link

+0

@ Benirving92这个答案能解决你的问题吗? – sandeepsure

+0

是的,我认为是。查询仍在15分钟后运行(表中21m行),所以我们将在完成后看到。 – Benirving92