1

たとえば、HTML ページに 4 つのドロップダウン リストがあります。

DDL1 - OrgType
DDL2 - Region
DDL3 - Category
DDL4 - Sector

データベースにクエリを実行して 1 つの DDL を検索するにはどうすればよいでしょうか。明確にするために、ここにシナリオがあります

Select * 
from table1 
where OrgTypeId = 1 
  AND RegionId = 1 
  AND CategId = 1 
  AND SectorId = 1

ここで、sectorId = 1 のセクターのみを検索したい場合はどうすればよいでしょうか? 他の DDL は任意の値を持つことができますか?

4

1 に答える 1

0

WHERE句には必要な基準のみを含めます。クエリを動的に作成し、必要な場合にのみ条件を挿入するか、またはスキーマに応じて常に true を返すようなものに設定することで、これを行うことができLIKE '%'ますIS NOT NULL

例:

--Removing unnecessary criteria
Select * 
from table1 
where SectorId = 1

--Making unused criteria always evaluate to true
Select * 
from table1 
where OrgTypeId >= 0 
  AND RegionId >= 0
  AND CategId >= 0 
  AND SectorId = 1

上記の 2 番目の例では、値が allintsであり、決して null ではないことを前提としていますが、ほとんどの状況に適応できます。

于 2013-03-06T15:20:18.403 に答える