数据库查询难题
1.用户表
id memberCode(权限:2为前台,3为后台) power(可以受理的事项id)
1 2 1|2|3
2 3 1|2
3 3 3
2.前后台绑定表
qianTaiId(对应用户表的id) houTaiId(对应用户表的id)
1 2|3
比方说:如果1受理了事项3,因为2和3都是他的后台人员,但只有3可以办理该事情,所以如果1受理了事项3的话下一经办人就该是3;如果1受理了事项1的话,下一经办人就该是2。请高手指点下查询语句该怎么写(查询条件是用户id和事项id),解决立即给分,谢谢!
------解决方案--------------------declare @a table(id int, memberCode int,power varchar(20))
insert @a select 1 ,2 , '1|2|3 '
union all select 2 ,3 , '1|2 '
union all select 3 ,3 , '3 '
union all select 4 ,2, '2|3 '
declare @b table(qianTaiId int, houTaiId varchar(20))
insert @b select 1 , '2|3 '
insert @b select 4 , '2|3 '
declare @id int,@s int
select @id=4,@s=1
select id from @a a, @b b where
qiantaiid=@id and charindex( '| '+ltrim(a.id)+ '| ', '| '+houtaiid+ '| ')> 0
and charindex( '| '+ltrim(@s)+ '| ', '| '+power+ '| ')> 0