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

现在,如果我只想搜索扇区 ID = 1 的扇区怎么办?而其他 DDL 可以有任何价值吗?

4

1 回答 1

0

WHERE仅在子句中包含您想要的条件。您可以通过动态构建查询并仅在需要时插入条件,或者将它们设置为类似LIKE '%'orIS NOT NULL或根据您的架构始终返回 true 的内容来做到这一点。

例子:

--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

上面的第二个示例假设您的值是 all ints,并且它们永远不会为空,但它可以适应大多数情况。

于 2013-03-06T15:20:18.403 回答