我会尝试用肉眼解释它:
表由
组成搜索的逻辑是:
如何创建逻辑,如果我选择不同版本,则选择创建查询,其中brand = @ brand,model = @ model,version = @ version。我需要根据以前的查询创建不同的类型和不同的颜色(如果可用)。
如果有定义的逻辑,例如1.品牌,2。模型,3。版本,4。类型,5。颜色,那将是非常容易的。
但我需要创建逻辑,我可以选择1.brand,2.model,3.color和version&类型将修改该查询。
在SQL或C#中有一种很好的方法吗?
由于
答案 0 :(得分:1)
听起来你只需要使用C#根据选择的过滤器动态构建SQL查询。
答案 1 :(得分:0)
通过检查参数是否提供,可以在存储过程中支持“搜索”中未知数量的参数
CREATE PROC SomeSearch
@param1 VARCHAR(10) = NULL,
@param2 INT = NULL
-- etc
AS
SELECT whatever
FROM MyTable
WHERE
(@param1 IS NULL OR field1=@param1)
AND (@param2 IS NULL OR field2=@param2)
-- etc
现在只需传递NULL(或者根本不传递参数 - 默认值为NULL),而不需要特定的过滤器。