1.
select * from a where creatorid='1' or ','+[group]+',' like '%,1,%'2.
select id,creatorid,case creatorid when '12' then [group] else 'yes' end [group]
from a

解决方案 »

  1.   

    to pbsql(风云) 
    第一条好像不行,比如 userid=11,group=1,creatorid!=11时,它还会显示这条记录,原则上是不要显示的。  这个问题还好办,用charindex就可以解决。主要是合并两条规则具体改如何写 多谢!
      

  2.   

    不可能显示的,如果那样,条件就是 ',1,' like '%,11,%'
    显然不成立
      

  3.   

    1、
    select * from where ',1,' like ','+str(creatorid)+','+group+','
      

  4.   

    to   pbsql(风云) 
    you are right。thank
      

  5.   

    select id,creatorid, newField=case when creatorid=12 then group when creatorid<>12 and ',12,' like ','+group+',' then 'yes' end
    where ',12,' like ','+str(creatorid)+','+group+','
      

  6.   

    假设登陆用户是@userid:
    select id,creatorid,
           case creatorid when @userid then [group] else 'yes' end [group]
      from a
      where creatorid=@userid or ','+[group]+',' like '%,'+@userid+',%'
      

  7.   

    select id,creatorid, newField=case when creatorid=12 then [group] when     creatorid<>12 and ',12,' like ','+[group]+',' then 'yes' end
    from a
    where ',12,' like ','+str(creatorid)+','+[group]+','谢谢pbsql(风云)的提醒,[group]!
      

  8.   

    select id,creatorid, [group]=case when creatorid=12 then [group] else 'yes' end
    from a
    where ',12,' like ','+str(creatorid)+','+[group]+','