SQL 的 WHERE 子句中使用 CASE 的條件篩選
SQL 的 WHERE
子句用於根據指定條件過濾資料。 當您需要根據資料本身套用不同的篩選條件時,CASE
子句中的 WHERE
語句提供了一個強大且靈活的方法。
想像一個包含各種位置類型(「位置」、「區域」、「分區」)的表,其各自的 ID 儲存在 account_location
、xxx_location_area
和 xxx_location_division
列中。 要根據所選位置類型檢索記錄,CASE
語句可以優雅地處理條件邏輯:
<code class="language-sql">DECLARE @locationType VARCHAR(50); DECLARE @locationID INT; SELECT column1, column2 FROM viewWhatever WHERE @locationID = CASE @locationType WHEN 'location' THEN account_location WHEN 'area' THEN xxx_location_area WHEN 'division' THEN xxx_location_division END;</code>
透過適當設定@locationID
和@locationType
變量,您可以動態過濾結果。 CASE
語句決定要與 @locationID
進行比較的位置列,從而實現高效且適應性強的條件過濾。
以上是SQL的CASE語句如何在WHERE子句中啟用條件過濾?的詳細內容。更多資訊請關注PHP中文網其他相關文章!