使用LIKE

时间:2016-10-13 23:24:23

标签: mysql database mariadb

我的数据库中有2个表(直到现在),一个用于存储艺术家名称,另一个用于存储歌曲(名称和歌词),但我需要使用一个SELECT来搜索艺术家名称,歌曲名称和歌词一次,但我得到了部分结果和很多1292错误。

歌曲表(歌曲)

song_id
artist_id
song_name VARCHAR
song_lyric TEXT

艺术家表(艺术家)

artist_id
artist_name

我的第一个SQL想法是这样的LEFT JOIN

SELECT s.song_name AS SONG, s.song_id AS ID FROM songs AS s
    LEFT JOIN artists AS a ON s.song_id = a.artist_id
    WHERE s.song_name OR s.song_lyric OR a.artist_name LIKE '%some value%'

如果我使用艺术家名称(如果我有一个唯一的名字),SELECT给出结果,但如果我尝试一些像'太阳','儿子'这样的正则表达式,我会得到一组空的结果。

任何帮助都会受益匪浅

2 个答案:

答案 0 :(得分:0)

SELECT s.song_name AS SONG, s.song_id AS ID FROM songs AS s
LEFT JOIN artists AS a ON s.artist_id = a.artist_id
WHERE s.song_name LIKE '%some value%' OR s.song_lyric LIKE '%some value%' 
OR a.artist_name LIKE '%some value%'

答案 1 :(得分:0)

试试这个。

$('ul li').each(function() {
    // put your own font for accurate metrics.
    $(this).css({width: getWidth($(this).text(), 'normal 14pt Arial') + 'px'});
});