2011-10-05 101 views
0

报告需要选择多个超级产品类型如何添加一个下拉列表

多种超级产品类型的选择?

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”,“ASKF” 都在上面代码中的条件,如果其他人将无法 它不应该选择ALL和其他ASKF 要么必须选择 我们如何ifferentiate所有不在一起 ALL选择,如果我们选择所有在下拉列表中剩下的值,必须先删除 它不应该一起选择两个值如果一切只都有选择剩下的应该抛弃

我不知道如何消除下拉列表中的其余值

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

回答

0

如果您已将SSRS参数设置为多值,则应该更改查询以使用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' 
+0

,你问的EM参数报表布局 – user971199

+0

你原来的问题问到如何改变使用具有多个值的参数的代码添加到多值。如果您想从用户那里获得这些信息,那么是的,在报告定义中使用多值参数。 –

+0

已经在过程中添加了一个参数\t @superProductType \t VARCHAR(8),接下来是我之前发送的上述代码。 – user971199