select * from a where id in select roleid from b where username = '张山'

解决方案 »

  1.   

    select *  from 表a  inner join 表b 
    on charindex(表a.id,表b.roleid)>0  where username='張山'
      

  2.   

    select username,rolename  from 表a  inner join 表b 
    on charindex(表a.id,表b.roleid)>0  where username='張山'
      

  3.   

    select tb2.username,tb2,roleid,tb1.[id],tb1.RoleName from tb2,tb1
     where  tb2.roleid like '%'+cast(tb1.[id] as varchar(20))+'%'
      

  4.   

    select 表a.*,表b.*  from 表a  left join 表b 
    on charindex(','+表a.id+',',replace(replace(表b.roleid,'(',','),'(',','))>0  
    --where username='張山'  --查看所有
      

  5.   

    你可以一个权限一条记录,这样对你的开发会好些,例如,张三在表b中的记录修改为id  roleid      username
    1     1           张山
    2     2           张山
    3     3           张山下面的按推就可以了