多表中的 SQL 搜索



我有两个表:歌曲和歌手

这是我的查询:

    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 + '%'

相关内容

  • 没有找到相关文章