SQL查询帮助(加入两个表)

时间:2015-10-04 16:47:13

标签: mysql sql sql-server

我的数据库中有两个表,包含以下模式:

ratings table:
usedId
movieId
rating

info table
movieId
imdbId

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

每个movieId& userId在评级表中多次出现。

我要做的是创建一个看起来像的新表:

new table:
userID
movieId
imdbId
rating

为每个匹配其原始表的movieId的行添加imdbId。

3 个答案:

答案 0 :(得分:2)

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

答案 1 :(得分:2)

或者你可以手动加入这两个表:

['AGC', 'GTT', 'GAT', 'AGT', 'GCA', 'GCC', 'ATT', 'GCA', 'AAA', 'CTT', 'CAC', 'CCT', 'AAG', 'CGT', 'TGA', 'TAG', 'TGC', 'AGC', 'CAT', 'TGC', 'AAA', 'ACT', 'TCA', 'CCC', 'TAA', 'AGA', 'AAC', 'GAG', 'TAT', 'CAG', 'TAG', 'GAT', 'GCA', 'GAC', 'GGT', 'TGA', 'TTG']

答案 2 :(得分: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