mysql - LEFT JOIN两个表几乎匹配的表

时间:2014-11-26 20:02:44

标签: mysql

我有两张表需要加入。问题是我在每个表中可以使用的唯一字段并不完全相同,但我可以使用它。

Voting.movie_id = a123456789
Movies.movie_id = 123456789

正如你所看到的那样,有一封信有' a'在前面。其余的完全匹配,永远都会。只是那个' a'在前面使它与众不同。

我希望有一种方法可以通过连接来实现这一点,所以我尝试了

SELECT * 
FROM voting 
RIGHT JOIN movies ON voting.movie_id = 'a'+movies.movie_id 
ORDER BY voting.ID DESC 
LIMIT 40

SELECT * 
FROM voting 
RIGHT JOIN movies ON voting.movie_id = '%'+movies.movie_id 
ORDER BY voting.ID DESC 
LIMIT 40

这不起作用,有没有办法做到这一点?

1 个答案:

答案 0 :(得分:2)

在MySQL中,您使用CONCAT()函数连接字符串,而不是+

SELECT * 
FROM voting 
RIGHT JOIN movies ON voting.movie_id = CONCAT('a', movies.movie_id)
ORDER BY voting.ID DESC 
LIMIT 40