0

查询给出 O/p 为

物品尺寸NM

(colName)

'U','V','X','Y'

但是当我在我所做的代码中使用它作为 IN Query 的输入时。它没有给出相同的结果集。为什么会发生这种情况...?表 MstItemSize 具有正确的数据。

 declare @tblRingSize table ( ringSize varchar(100))        
     declare  @ringSize varchar(100)         
     select   @ringSize= cast((otherringSize) as varchar) 
     from ##tempBand  where styleNo='BD00002';   
  1. 插入到@tblRingSize 从 dbo.SplitStrings_CTE 中选择项目(@ringSize,',');

  2. 从 MstItemSize 中选择 ItemSizeNm,其中 SizeTypeNm ='Ring' 和
    ItemSizeNm
    in --('U','V','X','Y')

    ( select Replace ( (select STUFF( (select ''',''' + ringSize from @tblRingSize For XML PATH('')),1,2,'') +'''' ) ,' ','' ))

  3. select Replace ( (select STUFF( (select ''',''' + ringSize from @tblRingSize For XML PATH('')),1,2,'') +'''' ) ,' ','')

4

1 回答 1

1

您不需要使用STUFF, FOR XML, 或REPLACE子查询:

select 
    ItemSizeNm 
from 
    MstItemSize 
where SizeTypeNm ='Ring' 
and ItemSizeNm  in (select ringSize from @tblRingSize)
于 2013-08-27T16:39:30.453 回答