2017-02-18 66 views
0

我有一个老歌曲数据库,我想转移到一个新的。 我的旧的数据库是这样的,多个值由逗号MySQL如何LIKE匹配参数+通配符?

SONG 
id | title | artist | lyricist 
1   abc  |  John  | John, Mary 

分离在新表中我把它们分开,并通过IDS连接的场塞在一​​起。我已经将所有艺术家的名字复制到新的“艺术家”表中。

ARTIST 
ID | NAME 
1  | John 
2  | Mary 

现在我想作词列复制到新的 'song_lyricist' 表,

SONG lYRICIST 
SONG_ID | ARTIST_ID 
1    1 
1   | 2 

这是我的SQL SELECT查询

SELECT song.id, song.lyricist, artist.id 
FROM song 
JOIN artist 
ON 
song.lyricist LIKE artist.name 

的查询工作的选择字段具有单一值,但不适用于带逗号的多个值。我试图将它与通配符“song.lyricist LIKE artist.name +'%'”结合起来,但它给了我一个语法错误。

+0

ON(song.lyricist LIKE artist.name OR *另一个conditon *) – JYoThI

+0

什么可以在其他条件?匹配列值+通配符是我能想到的唯一条件。 – reddy

回答