--------这是权限
declare @roles varchar(Max) SET @roles='1,5' set @roles= Ltrim(Rtrim(@roles))
--------这是分隔字符串 目前以逗号分隔
declare @split char set @split=','
--------如果是中文逗号,需要替换为英文逗号
set @roles=Replace(@roles,',',',')
--------声明权限表 以及XML 变量
declare @QuanXian Table (id int) DECLARE @x XML
SET @x = CONVERT(XML,'<items><item id="' + REPLACE(@roles, @split, '"/><item id="') + '"/></items>')
INSERT INTO @QuanXian SELECT x.item.value('@id[1]', 'INT') FROM @x.nodes('//items/item') AS x(item)
--------------查询他们的主合同
select a.* from dbo.A a where Contract_id in(select contract_Main_id from dbo.A a
inner join @QuanXian q on a.Media_Id=q.Id )
------------==================================到这里结束 后面的供你参考 可以做其它用途
/*
-------------查询子合同 权限为1,5,9
select a.* from dbo.A a inner join @QuanXian q
on a.Media_Id=q.Id
---------------查询对应的主合同 和 子合同
select a.* from dbo.A a inner join @QuanXian q
on a.Media_Id=q.Id UNION
select a.* from dbo.A a where Contract_id in(select contract_Main_id from dbo.A a
inner join @QuanXian q on a.Media_Id=q.Id )
*/