我想对这个子查询查出来的值,再进行模糊查询....下面这句sql语句有点问题,估计是引号嵌套的问题, 谢谢大家帮忙解决一下...SELECT *
FROM tree
WHERE id like
'(
SELECT id
FROM tree
where code = 'china'
)%'

解决方案 »

  1.   

    DECLARE @tmpID VARCHAR(20)
    SELECT @tmpID=id FROM tree where code = 'china'SELECT *
    FROM tree
    WHERE id like '%'+tmpID+'%'
      

  2.   

    这句话的意思,只是想得到这样的结果:SELECT *
    FROM tree
    WHERE id like
    (
    SELECT id
    FROM tree
    where code = 'china'
    )+'%'等同于: (上面的语句没有得出正确的结果,下面的语句运行正常)
    select *
    from tree
    where id like 'A'+'%'oracle已经得出了正确的结果, 但sqlserver中没有得出正确的结果, 请问是什么原因, 谢谢大家!!!!
      

  3.   

    不知道是否可以这样来理解你的意思
    create table T
    (
       ID varchar(10),
       code varchar(10)
    )
    insert t select 'AAA','sdsdf'
    insert t select 'A','china'
    select * from T T1 where exists(select 1 from T where code = 'china' and charindex(ID,T1.ID)>0)