Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/reporting-services/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Tsql T-SQL不执行WHERE子句SSRS的第二部分_Tsql_Reporting Services_Where Clause - Fatal编程技术网

Tsql T-SQL不执行WHERE子句SSRS的第二部分

Tsql T-SQL不执行WHERE子句SSRS的第二部分,tsql,reporting-services,where-clause,Tsql,Reporting Services,Where Clause,我有一个从存储过程运行的SSRS报告。我有两个必须选择的参数。我的第一个参数工作得很好,但当选择第二个参数(Rep)时,它将被报告忽略并返回所有Rep @Town Varchar(100) ,@Rep Varchar(100) select a.Customer ,a.CustName ,a.Rep ,a.Town ,a.Qty ,a.SalesType ,b.Qty1 ,c.Qty2 ...... fr

我有一个从存储过程运行的SSRS报告。我有两个必须选择的参数。我的第一个参数工作得很好,但当选择第二个参数(Rep)时,它将被报告忽略并返回所有Rep

@Town Varchar(100)
,@Rep Varchar(100)

    select 
    a.Customer
    ,a.CustName
    ,a.Rep
    ,a.Town
    ,a.Qty
    ,a.SalesType
    ,b.Qty1
    ,c.Qty2
    ......
    from #1 a
    left join #2 b
    on a.Rep = b.Rep
    and a.Town = b.Town
    and a.Customer = b.Customer
    and a.SalesType = b.SalesType
    left join #3 c
    ..........
    WHERE ('ALL' IN (@Town))    OR     (a.Town IN (@Town)) 
    and ('ALL' IN (@Rep))    OR     (a.Rep IN (@Rep))

在这里猜测,但我假设您希望将
@Town
@Rep
的子句作为一组进行计算。为此:

WHERE ('ALL' IN (@Town)    OR     a.Town IN (@Town)) 
and ('ALL' IN (@Rep)    OR     a.Rep IN (@Rep))

正如您所看到的,由于每个子句都是独立的,因此您将得到短路行为。

在这里猜测,但我假设您希望将
@Town
@Rep
的子句作为一组进行计算。为此:

WHERE ('ALL' IN (@Town)    OR     a.Town IN (@Town)) 
and ('ALL' IN (@Rep)    OR     a.Rep IN (@Rep))
正如您所看到的,因为每个子句都是独立的,所以您将得到短路行为