我有2个表在我的数据库(直到现在),一个存储艺术家的名字和另一个存储歌曲(名字和歌词),但我需要使用一个SELECT
搜索内部的艺术家的名字,歌曲的名字和歌词一次,但我得到部分结果和很多1292错误。
歌曲表
song_id
artist_id
song_name VARCHAR
song_lyric TEXT
艺人表(artists)
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
给出了一个结果,如果我使用一个艺术家的名字(如果我有一个唯一的名字),但如果我尝试一些正则表达式,如'Sun', 'Son',我得到了一个空的结果集。
欢迎任何帮助
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%'
试试这个
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%'