繁体   English   中英

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

[英]MySQL how to LIKE match a parameter + wildcard?

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

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

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

ARTIST
ID    |    NAME
1     |    John
2     |    Mary

我现在正在尝试将歌词专栏复制到新的“ song_lyricist”表中,

SONG lYRICIST
SONG_ID    |    ARTIST_ID
1               1
1          |    2

这是我的SQL选择查询

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

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

SELECT song.id,song.lyricist,art​​ist.id从歌曲JOIN演出者ON song.lyricist像'%',

您可以使用此方法或通过Go for Store Procure获取这种方法,请参考以下链接-https : //www.mssqltips.com/sqlservertutorial/161/creating-a-simple-stored-procedure/

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM