declare @s_sql varchar(200)
declare @cwhid varchar(100)
set @cwhid = '(''01'',''02'',''12'')'
set @s_sql = select cmteid ,cmtename,cdes from stock where cwhid in ' + @cwhid
exec(@s_sql)
declare @cwhid varchar(100)
set @cwhid = '(''01'',''02'',''12'')'
set @s_sql = select cmteid ,cmtename,cdes from stock where cwhid in ' + @cwhid
exec(@s_sql)
declare @s_sql varchar(200)
declare @cwhid varchar(100)
set @cwhid = '(''01'',''02'',''12'')'
set @s_sql = 'select cmteid ,cmtename,cdes from stock where cwhid in ' + @cwhid
exec(@s_sql)
你以後可以這樣檢測一下
declare @cwhid varchar(100)
set @cwhid = '(''01'',''02'',''12'')'
print @cwhid ---看這裡是不是你想要的結果
declare @as_bmteid varchar(20) ,
@as_emteid varchar(20),
@as_cwhid varchar(20)
set @as_cwhid = '(''01'',''02'',''12'')'select stock.cmteid, product.ccname, product.cspec, product.cunitid,'@' as 'ccolorid',
0 as 'dnetqty',0 as 'dmrpqty',sum(stockc.dqty) as 'dqty', product.dmin, stock.dqty3,
stock.dqty4, stock.dqty2, stock.dqty1, 0
from stock, stockc, warehous, product
where stock.cmteid = stockc.cmteid
and stockc.cwhid = warehous.cwhid
and stockc.cmteid = product.cmteid
and (stock.cmteid >= @as_bmteid or @as_bmteid is null or len(@as_bmteid) = 0)
and (stock.cmteid <= @as_emteid or @as_emteid is null or len(@as_emteid) = 0)
and stockc.cwhid in ( @as_cwhid )
and product.cstop <> '1' and (warehous.cuserflag is null or warehous.cuserflag = '1')
group by stock.cmteid, product.ccname, product.cspec, product.cunitid,--dnetqty,dmrpqty,
product.dmin, stock.dqty3, stock.dqty4, stock.dqty2, stock.dqty1
order by stock.cmteid
select cmteid ,cmtename,cdes from stock where cwhid in(@cwhid)
我想用set @cwhid=('01','02','12')查询,但是得不到结果,应该怎样查询啊declare @sqlstr varchar(8000)
declare @cwhid varchar(100)
set @cwhid ='(''01'',''02'',''12'')'
set @sqlstr='select cmteid ,cmtename,cdes from stock where cwhid in'+@cwhid
exec(@sqlstr)
declare @cwhid varchar(100)
set @cwhid ='(''01'',''02'',''12'')'
set @sqlstr='select 1 from stock where cwhid in'+@cwhid--你這樣先檢查一下能不能通過
exec(@sqlstr)
drop table a
create table a
(a varchar(100),
b int)
insert into a
select '01',1 union all
select '02',2 union all
select '01',3 union all
select '01',4 union all
select '02',5 union all
select '03',6 union all
select '03',7 union all
select '01',8 union all
select '04',9 union all
select '05',10 union all
select '01',11
declare @sqlstr varchar(8000)
declare @cwhid varchar(100)
set @cwhid ='(''01'',''02'')'
print @cwhid
set @sqlstr='select * from a where a in'+@cwhid
exec(@sqlstr)
---------------結果
01 1
02 2
01 3
01 4
02 5
01 8
01 11
可見能通過