日期:2014-05-17  浏览次数:20411 次

寻求 SQL 的语句帮助!
表1 表名 user_caozuoyuan   caozuoyuan_gndm 字段为 拥有那些模块权限




表2 表名 ModuleName    m.moduleid字段为功能模块名称



请问大家 如何才能让 在查询管理员的时候 可以直接查询出管理员这个人拥有那些模块ID 通过对比的方式


如 caozuoyuan_gndm 包含 m.moduleid ID的 显示出来


------解决方案--------------------
直接把:  where caozuoyuan_xm='管理员'  加上就可以:


select u.caozuoyuan_gndm,m.moduleid,m.[MKName]
from user_caozuoyuan u
inner join ModuleName m
        on charindex(','+cast(m.moduleid as varchar)+',',','+u.caozuoyuan_gndm+',') >0
where u.caozuoyuan_xm='管理员' 
/*
caozuoyuan_gndm moduleid MKName
1,2,3,4,5,6 1 增加车辆信息
1,2,3,4,5,6 2 管理车辆信息
1,2,3,4,5,6 3 管理换油宝
1,2,3,4,5,6 4 base
1,2,3,4,5,6 5 车型查找
1,2,3,4,5,6 6 人力资源
*/  

------解决方案--------------------
好吧,我的的确比较多代码