0
我有一個產品表。使用3個不同的查詢來執行搜索以獲得大多數匹配結果。但是我得到了很少的失敗者,例如分頁,因此需要將我的3個查詢合併爲一個,並且仍然給出相同的結果。結合Mysql子查詢
這裏是我的查詢和人員對每個做
查詢1說明:此查詢獲取精確匹配搜索字符串
SELECT *,
MATCH (product_name) AGAINST ('k' IN BOOLEAN MODE) as distance,
MATCH (product_description) AGAINST ('k' IN BOOLEAN MODE) as distance2
FROM products
INNER JOIN shops ON shops.shop_id = products.shop_id
WHERE MATCH (product_name) AGAINST ('k')
OR MATCH (product_description) AGAINST ('k')
ORDER BY distance DESC, distance2 DESC
LIMIT 0, 9;
問題2:這個查詢得到的所有結果,其中搜索字符串是字符串的一部分減去查詢結果然後將結果添加到數組
問題3:此查詢獲取最匹配的查詢1和查詢2的搜索字符串減去結果增加了結果陣列
SELECT *,
fuzzy_substring('k', product_name) as distance,
fuzzy_substring('k', product_description) as distance2
FROM products
INNER JOIN shops ON shops.shop_id = products.shop_id
WHERE (fuzzy_substring('k', product_name) < 3
OR fuzzy_substring('k', product_description) < 3)
AND product_id NOT IN ('pr933j4', 'Posr49il', 'p4021dd')
order by distance ASC, distance2 ASC
LIMIT 0, 9;
我無法弄清楚如何將這個三個查詢任何建議,結合一個正確的方向是高度讚賞。 注「K」是字符串被搜索
提示:'UNION'或'JOIN'我看不出這裏有什麼問題 –
顯示美國DB模式,樣品數據和預期產出。 \t請閱讀[**如何提問**](http://stackoverflow.com/help/how-to-ask) \t \t這裏是一個偉大的地方[** START **] (http://spaghettidba.com/2015/04/24/how-to-post-at-sql-question-on-a-public-forum/)來了解如何提高您的問題質量並獲得更好的答案。 \t [**如何創建一個最小,完整和可驗證的示例**](http://stackoverflow.com/help/mcve) –
@JuanCarlosOropeza實際上是在嘗試UNION。如何加入工作? – dannjoroge