MySQL如何匹配参数+通配符?

时间:2017-02-18 03:39:06

标签: mysql wildcard sql-like

我有一个旧的歌曲数据库,我想转移到一个新的。 我的旧数据库看起来像这样,多个值在用逗号分隔的字段中填充在一起

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

在新表中,我将它们分开并通过ID连接。我已将所有艺术家的名字复制到新的艺术家作品中。表。

ARTIST
ID    |    NAME
1     |    John
2     |    Mary

我现在正试图将词作者专栏复制到新的歌曲专家'表,

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 +'%'"但它给了我一个语法错误。

1 个答案:

答案 0 :(得分:0)

SELECT song.id,song.lyricist,art​​ist.id 来自歌曲 加入艺术家 上 song.lyricist LIKE'%',

您可以使用此方法或Go for Store Procure来实现此类方法 参考这个链接 - https://www.mssqltips.com/sqlservertutorial/161/creating-a-simple-stored-procedure/