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
使用[WHERE,IN,LEN,IN]TSQL_Tsql_Reporting Services - Fatal编程技术网

使用[WHERE,IN,LEN,IN]TSQL

使用[WHERE,IN,LEN,IN]TSQL,tsql,reporting-services,Tsql,Reporting Services,我试图在where子句中写一个简单的语句,但我认为我的语法不对。查询将搜索这些ID是否在此列中,但我不确定是否可以在同一行中使用in两次?任何人都可以提供一些反馈。谢谢 WHERE... AND (tableA.ColumnA in LEN(LTRIM(RTRIM(TableB.ColumnB))) in (5,7) ) 我在中的第二个附近遇到一些语法错误,无法确定这是否是正确的方法?尝试改用子查询 WHERE... AND (SELECT TA.ColumnA

我试图在where子句中写一个简单的语句,但我认为我的语法不对。查询将搜索这些ID是否在此列中,但我不确定是否可以在同一行中使用
in
两次?任何人都可以提供一些反馈。谢谢

WHERE... AND (tableA.ColumnA in LEN(LTRIM(RTRIM(TableB.ColumnB))) in (5,7) )

我在中的第二个
附近遇到一些语法错误,无法确定这是否是正确的方法?

尝试改用子查询

WHERE... AND (SELECT TA.ColumnA 
              FROM TableA TA 
              WHERE TA.ColumnA IN LEN(LTRIM(RTRIM(TABLEB.ColumnB))) IN (5,7)

尝试改用子查询

WHERE... AND (SELECT TA.ColumnA 
              FROM TableA TA 
              WHERE TA.ColumnA IN LEN(LTRIM(RTRIM(TABLEB.ColumnB))) IN (5,7)

当您在列中使用IN时,它需要是一个子选择,但下面是一种正确的方法(Wes的子选择仍然有相同的语法错误):


当您在列中使用IN时,它需要是一个子选择,但下面是一种正确的方法(Wes的子选择仍然有相同的语法错误):

使用连接

 join TableB 
   on TableB.ColumnB = tableA.ColumnA   
  and LEN(LTRIM(RTRIM(TableB.ColumnB))) in (5,7)
使用连接

 join TableB 
   on TableB.ColumnB = tableA.ColumnA   
  and LEN(LTRIM(RTRIM(TableB.ColumnB))) in (5,7)

LEN(LTRIM(RTRIM(TableB.ColumnB))
的目的是什么?当你说“这些ID是否在这一栏”时,你指的是哪一栏?我在为这两栏删去空白。我在A列中有ID,在B列中。因此,Where子句的要点是,当用户选择main Person参数时,查询将在我的财务表中查找,并提取主业务表中的所有ID(与此人关联)。基本上,
tableA.columnA在tableb.columnB
中。但是,我只需要5个字符和7个字符的ID。这有助于澄清吗?
LEN(LTRIM(RTRIM(TableB.ColumnB)))
的目的是什么?当你说“这些ID是否在这一栏”时,你指的是哪一栏?我在为这两栏删去空白。我在A列中有ID,在B列中。因此,Where子句的要点是,当用户选择main Person参数时,查询将在我的财务表中查找,并提取主业务表中的所有ID(与此人关联)。基本上,
tableA.columnA在tableb.columnB
中。但是,我只需要5个字符和7个字符的ID。这有助于澄清吗?我试过了,但我相信我收到了相同的错误。下面是我的代码在
中第二个
出现错误时的样子。“in”附近的语法不正确:/
和(5,7)中的(LEN(LTRIM(RTRIM(ABC6.CU))中的(mainfilters.RPCO))
我尝试了这个,但我相信我收到了相同的错误。下面是我的代码在
中第二个
出现错误时的样子。“in”附近的语法不正确:/
和(5,7)中的(LEN(LTRIM(RTRIM(ABC6.CU)))中的(mainfilters.RPCO)