我将inner join与like子句一起使用..
我尝试过的sql是
SELECT tbl_songs.id AS sid,
tbl_songs.name AS sname,
tbl_albums.id AS aid,
tbl_albums.name AS aname
FROM tbl_songs
INNER JOIN tbl_albums
ON tbl_songs.albums LIKE '%' + tbl_albums.name + '%'; 它显示了语法错误。
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '+ tbl_albums.name + '%'' at line 2请详细说明语法错误的原因。
发布于 2013-06-09 03:45:25
你必须使用concat来构成这个子句...
...LIKE CONCAT('%',tbl_albums.name, '%');在mysql中没有这样的+运算符。
发布于 2013-06-09 19:52:39
You can use below format in oracle sql:
SELECT tbl_songs.id AS sid,
tbl_songs.name AS sname,
tbl_albums.id AS aid,
tbl_albums.name AS aname
FROM tbl_songs
INNER JOIN tbl_albums
ON tbl_songs.albums LIKE ('%'||tbl_albums.name||'%'); 发布于 2014-07-19 14:20:15
MySQL的一个示例:
SELECT tbl_songs.bus_name FROM tbl_songs , tbl_albums
WHERE tbl_songs.albums LIKE CONCAT('%',tbl_albums.name, '%');https://stackoverflow.com/questions/17003165
复制相似问题