如何添加下拉列表

时间:2011-10-05 19:41:45

标签: sql-server reporting-services

报告需要选择多种超级产品类型

选择多种超级产品类型?

IF @superProductType = 'ALL'
    INSERT INTO #ProductDetails
    SELECT pt_sp_type_c, pt_sb_type_c
    FROM product..p_type_p_type
    WHERE pt_sp_type_c NOT IN ('EQUITY','OPTEQTY')
    AND p_type_use_sp_c= 'RPCDB'
    AND p_type_use_sb_c = 'TRD'
    AND pt_rel_stat_c = 'ACTIVE'
ELSE
    INSERT INTO #ProductDetails
    SELECT pt_sp_type_c, pt_sb_type_c
    FROM product..p_type_p_type
    WHERE pt_sp_type_c NOT IN ('EQUITY','OPTEQTY')
    AND pt_sp_type_c IN (@superProductType)
    AND p_type_use_sp_c= 'RPCDB'
    AND p_type_use_sb_c = 'TRD'
    AND pt_rel_stat_c = 'ACTIVE'

我在@super产品类型中有一个参数,任何人都可以帮我如何更改此代码 在这段代码中我需要做一些更改:---参数是@superProductType 以上代码用于选择多种超级产品类型

当我从下拉列表中选择All和one值时,例如'ALL','ASKF' 代码中的上述条件是否会失败 它不应该同时选择ALL和其他ASKF 要么必须选择 我们如何区分所有不一起选择ALL 如果我们选择下拉列表中的所有剩余值必须删除 它不应该一起选择两个值如果只有ALL必须选择剩余应该丢弃

我不确定如何消除下拉列表中的其余值

寻找合适的解决方案,任何人都可以看到代码,并告诉我在代码中我必须做的改变。

1 个答案:

答案 0 :(得分:0)

如果已将SSRS参数设置为Multivalue,则应将查询更改为使用IN(@ParamName)语法。所以你的查询将成为:

IF @superProductType = 'ALL'
    INSERT INTO #ProductDetails
    SELECT pt_sp_type_c, pt_sb_type_c
    FROM product..p_type_p_type
    WHERE pt_sp_type_c NOT IN ('EQUITY','OPTEQTY')
    AND p_type_use_sp_c= 'RPCDB'
    AND p_type_use_sb_c = 'TRD'
    AND pt_rel_stat_c = 'ACTIVE'
ELSE
    INSERT INTO #ProductDetails
    SELECT pt_sp_type_c, pt_sb_type_c
    FROM product..p_type_p_type
    WHERE pt_sp_type_c NOT IN ('EQUITY','OPTEQTY')
    AND pt_sp_type_c IN ( @superProductType )
    AND p_type_use_sp_c= 'RPCDB'
    AND p_type_use_sb_c = 'TRD'
    AND pt_rel_stat_c = 'ACTIVE'