我有我的数据库2个表(直到现在),一个用于存储艺术家的名字和另一个存储歌曲(名称和歌词)不同领域的结果,但我需要使用一个SELECT
到内搜索艺术家名称,歌曲名称和歌词的一次,但我得到的部分结果和大量的1292个错误。搜索与LIKE
宋表(歌曲)
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
给出了一个结果,如果我用一个艺术家的名字(如果我有一个独特的名字),但如果我尝试像“太阳”,“儿子”一些正则表达式我有一个空的结果集。
任何帮助将是惠康
'WHERE s.song_name LIKE '%某个值%' 或s.song_lyric LIKE '%某个值%' 或a.artist_name LIKE '%某个值%'' –
什么是你期望的输出?你为什么在'LEFT JOIN'中使用's.song_id = a.artist_id'? – Ponnarasu
我要像一个隐藏字段(拉撒路)的ID创建另一个搜索,并根据歌手名,歌曲名或者一些歌词的歌曲名。 – douglascast