1

私は2つのテーブルを持っています:歌と歌手

そして、これは私のクエリです:

    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

問題は、「孤独なエイコン」と書いた場合、結果が見つからないことです。

でも、「あこん」や「寂しい」と書いたら結果が出てきました。

そして、クエリを改善するための提案が大好きです..

ありがとう

4

1 に答える 1

0

あなたの結果は正しいです。エイコンは歌手でロンリーは歌です。歌も歌手もエイコン孤独とは呼ばない。

含むなどのより複雑な形式の検索を実行しようとしているようです。

http://technet.microsoft.com/en-us/library/ms187787.aspx

あなたは試すことができます

name like '%' + @xxx + '%' or @xxx like '%' + name + '%'
于 2013-10-29T07:49:21.800 に答える