2015-10-04 168 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