![](/img/trans.png)
[英]MySQL query using LIKE and a wildcard to match anything but empty string
[英]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,artist.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.