如果business_code是单条记录。。
select price from serivce_id where in(select service_id from business where business_code  = @business_code)如果business_code是多条记录。。
select price from serivce_id where in(select service_id from business where business_code  in @business_code)
应该这样写吗?
->NO
where in --> where exists 

解决方案 »

  1.   


    set @business_code='''TEXT_00000'',''TEXT_00001'',''TEXT_00002'',''TEXT_00003'''
    select * from xc.services where service_id in 
    (select service_id from xc.business 
    where charindex(business_code,@business_code)>0)
      

  2.   

    如果business_code是多条记录。。
    select price from serivce_id where in(select service_id from business where business_code  in @business_code)
    应该这样写吗?不应该,应该这样写:
    select price from serivce_id where in(select service_id from business where  @business_code like '%'+business_code+'%')
    或:
    select price from serivce_id where in(select service_id from business where  charindex(@business_code,business_code)>0)