0
這是我執行搜索自動完成功能,關鍵字查詢「部門2」MySQL:案例評估不正確。我哪裏錯了?
SELECT display_text,token, relevancy ,
(CASE token
WHEN token = 'sector' THEN relevancy*1000
WHEN token = '2' THEN relevancy*1000
ELSE relevancy/100
END) as real_relevancy
FROM location_search WHERE display_text LIKE '%sector%' AND display_text LIKE '%2%'
ORDER BY real_relevancy DESC
表有五個字段:ID,AREA_ID,DISPLAY_TEXT,令牌和相關性。 顯示文本是我想在自動完成搜索結果中顯示的內容。令牌包含由空格分隔的顯示文本。
像一個顯示文本「扇區2諾伊達」會出現在表中3項
id | area_id | display_text | token | relevancy
6 | 234 | Sector 2 Noida | sector | 441
7 | 234 | Sector 2 Noida | 2 | 986
8 | 234 | sector 2 Noida | noida | 660
同樣地,對於所有其他的顯示區域。這個查詢很清楚我在這裏要做什麼,那就是在頂部獲得更相關的結果。
的問題是,第一種情況判斷爲真,並在隨機的情況下被execulted其中token是niether部門也不2.
像ResultSet中的第一reult是
display_text | token | relevancy | real_relevancy
Sector 29 - Powergrid , Gurgaon | Powergrid | 789 | 789000
爲什麼會發生。我在查詢時出錯了嗎?可能是在做一些愚蠢的錯誤。請幫忙。