假設我有屏幕,其中用戶選擇不同的選項來對網格中數據的排序進行排序,該數據通過jQuery從數據庫異步獲取。在WHERE子句中指定要獲取所有數據而不過濾字段的關鍵字
當用戶選擇他需要查看user
數據,其中status=1
SELECT * FROM user WHERE status=1;
而同樣爲2,3,4的可變可以傳遞。
但是,當用戶沒有選擇任何東西,它應該返回所有users
的結果。 所以是一個表達式或關鍵字,我可以在查詢傳遞,將得到ALL
記錄,是這樣的:
SELECT * FROM user WHERE status=ANYTHING; -- EVERYTHING, ALL, ANY
我不想寫每一個案件不同的查詢,這將不效率高,案例數量也很高,因爲上面的例子只是一個假設的例子來解釋我的情況,實際情況有點複雜。
只是在不需要進行過濾的情況下包含'WHERE'子句?目前尚不清楚爲什麼你需要這樣做,這可能是因爲代碼中其他地方的設計流程。 – David
列'status'是否可以爲空? –
Erland Sommarskog寫了一篇關於如何做這種事情的非常好的概述 - [T-SQL中的動態搜索條件](http://www.sommarskog.se/dyn-search.html) –