回答
是的,你可以使用SQL IN
操作搜索多個絕對值:
SELECT name FROM products WHERE name IN ('Value1', 'Value2', ...);
如果你想使用LIKE
您將需要使用OR
代替:
SELECT name FROM products WHERE name LIKE '%Value1' OR name LIKE '%Value2';
使用AND
(如您所嘗試)要求所有條件都爲真,使用OR
要求至少有一個爲真。
雖然這回答了您的問題,但您可能希望比我們的任一解決方案更復雜,搜索「OR」但首先顯示最相關(最匹配)的結果。 – 2013-04-26 15:39:27
我正在使用SQL Server並試圖做同樣的事情。但是,我將搜索字符串作爲參數傳遞給存儲過程。如何根據空格拆分搜索字符串參數,然後在用戶搜索之前不知道值時將所有「LIKE'%Value1%或.....」添加到where子句中? – 2016-10-26 16:57:59
我很確定,在大多數簡單情況下,AND和AND是正確的搜索。如果用戶不喜歡打字,他們可能希望在90%的時間內顯示結果。想想谷歌搜索:[+「bob」+「希望」],這絕對是無用的'OR'搜索。並請原諒谷歌在半實用搜索中完全荒謬的引用要求。此外,'AND'是難以獲得的獨特功能,而'OR'則可以運行2次搜索並查看是否有人受到攻擊。 – ebyrob 2017-03-17 15:22:52
試試這個
使用UNION
$sql = '';
$count = 0;
foreach($search as $text)
{
if($count > 0)
$sql = $sql."UNION Select name From myTable WHERE Name LIKE '%$text%'";
else
$sql = $sql."Select name From myTable WHERE Name LIKE '%$text%'";
$count++;
}
使用WHERE IN
$comma_separated = "('" . implode("','", $search) . "')"; // ('1','2','3')
$sql = "Select name From myTable WHERE name IN ".$comma_separated ;
- 1. 搜索在多個領域
- 2. SQL多凡同一領域
- 3. 如何在同一領域搜索中1個表
- 4. 在同一領域
- 5. 搜索框突出領域
- 6. WordPress的搜索領域
- 7. 搜索領域的Chrome
- 8. 定製selectize.js搜索領域
- 9. elastic4s - 搜索多領域
- 10. 搜索MySQL的領域
- 11. 如何在彈性搜索的一個領域然後另一個領域?
- 12. 搜索不在該領域工作
- 13. MarkLogic搜索和檢索特定領域
- 14. SQL SELECT查詢同一領域
- 15. SQL - 多凡標準上同一領域
- 16. 搜索在內部的後臺搜索框等領域 - V7.1.0
- 17. 如何在天藍色搜索領域進行搜索?
- 18. 六搜索和替換,把一個搜索結果到其他領域在同一行
- 19. 的Xquery使用多個搜索領域
- 20. 全球搜索領域,通過多列
- 21. 搜索與CakePHP中CONCAT領域3
- 22. 可搜索微調結合領域
- 23. Sitecore的 - 多重表與搜索領域
- 24. 領域對象謂詞搜索無效
- 25. Sensenet:查詢生成器,搜索領域
- 26. 的Flash CS6輸入IDE搜索領域
- 27. FTS:智能搜索多個領域
- 28. 像Linq的跨多個領域搜索
- 29. SOLR不搜索某些領域
- 30. 多個領域查詢搜索
絕對 - 這是可能的,使用的所有的時間。 如果您需要程序員爲您編寫代碼,那麼有許多網站。 LinkedIn例如。但是,對於本網站,請提出有關特定代碼的問題,而不是要求爲您編寫代碼。顯示你已經嘗試了什麼,以及你發現了什麼......等等。 – Dave 2013-04-26 15:33:20
謝謝,我不想讓我的代碼爲我寫,只是爲了知道如何去做。 我的代碼看起來沒有像我上面寫的那個。 – 2013-04-26 15:39:27