簡體   English   中英

如何在SQL中沒有顯式指定列值的地方使用where子句?

[英]How to use the where clause where the values in a columns are not explicit in SQL?

我有一個同時包含性別和年齡范圍的限制列。 我可以對“ MEN”和“ WOMEN”使用WHERE子句以僅返回滿足條件的行。 但是此限制列還包含“ Teenager”,“ Adult”和“ Senior”之類的年齡范圍,因此我不確定如何指定WHERE子句。 有時,性別和年齡范圍限制未指定,例如,對於滿足條件“ MEN”的行列表​​,還應返回所有未指定的列。

列示例:

限制:

男士

-女士

-女士/青少年

-任何人

-男子/高級

-高級

限制欄

我建議使用LIKE運算子。 以下是WHERE子句的一些示例:

  1. 要獲取所有“男性”字段: WHERE YOUR_CLM LIKE 'MEN%'
  2. 要獲取所有“成人”字段,請執行以下操作: WHERE YOUR_CLM LIKE '%Adult'
  3. 要獲取所有非高級女性字段: WHERE YOUR_CLM NOT LIKE '%Senior' AND YOUR_CLM LIKE 'WOMEN%'

注意 :如果允許您對數據庫架構進行更改,那么我建議將此列分為兩列,一列用於年齡,另一列用於性別,每列由一個ID表示,該ID代表存儲在列表中的值-價值表(例如; GendersLOV表, AgeLOV表)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM