我有两张桌子:歌曲和歌手
这是我的疑问:
Select * FROM (
SELECT
idx,
name,
IDsinger,
permission,
(name LIKE '%XXX%') As relevancy,
'table1' As t
FROM `songs`
where
isActive<>'0' AND name LIKE '%XXX%'
UNION
SELECT
idx,
name,
CreationDate,
permission,
(name LIKE '%XXX%') As relevancy,
'table2' As t
FROM `singers`
WHERE isActive<>'0' AND name LIKE '%XXX%'
) AS X
order by relevancy LIMIT 10
问题是如果我写“akon lonely”没有找到结果。
但如果我写“akon”或“孤独”就会找到结果。
我会喜欢改善查询的建议..
由于
答案 0 :(得分:0)
你的结果是对的。 AKON是一名歌手,Lonely是这首歌。歌曲或歌手都不叫Akon孤独。
听起来你正试图做一个更复杂的搜索形式,比如包含。
http://technet.microsoft.com/en-us/library/ms187787.aspx
你可以尝试
name like '%' + @xxx + '%' or @xxx like '%' + name + '%'