我有两个表:歌曲和歌手
这是我的查询:
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"或"孤独"就会发现结果。
我希望得到改进查询的建议。
谢谢
您的结果是正确的。AKON是歌手,《Lonely》是这首歌。歌曲和歌手都不叫阿肯孤独。
听起来您正在尝试进行更复杂的搜索形式,例如包含。
http://technet.microsoft.com/en-us/library/ms187787.aspx
你可以试试
name like '%' + @xxx + '%' or @xxx like '%' + name + '%'