用一个生气了语句进行模糊查询,like后边的内容是用select classname from KSAQZBCOM_ProductClass where classid='168'查询的结果
但是下边的sql语句有错误,应该怎么写求助select * from KSAQZBCOM_production_company where p_zycp like '%"(select classname from KSAQZBCOM_ProductClass where classid='168')"%'

解决方案 »

  1.   

    我试了这样写 还是不行
     classname="select classname from "&sysfilename&"productClass where ClassID="&CID&"
    select * from "&sysfilename&"Production_Company where P_Zycp like '%classname%'
      

  2.   

    select A.* from KSAQZBCOM_production_company A inner join KSAQZBCOM_ProductClass B
    on charindex(B.classname,A.p_zycp)>0
    where B.classid='168'
      

  3.   

    sql="select * from "&sysfilename&"Production_Company where P_Zycp like '%"&classname&"%'"
      

  4.   

    两句 第一句是查出classname
    第二句把查的classname值放在第二句的like后边
    classname="select classname from "&sysfilename&"productClass where ClassID="&CID&"
    select * from "&sysfilename&"Production_Company where P_Zycp like '%classname%'
      

  5.   

    如果查询出来的classname的值是唯一的,可以试试下面的方法declare @s nvarchar(100)
    set @s=''
    select @s=@s+QUOTENAME(classname)
    from KSAQZBCOM_ProductClass
    where classid='168'
    --print @s
    exec('select * from KSAQZBCOM_production_company where p_zycp like '''+'%'+@s+'%''')