|
发表于 2020-1-7 08:18:02
|
显示全部楼层
create table A(QXXH int, QXMC nvarchar(10))
insert A select 1, '发文填写'
union all select 2, '发文审批'
union all select 3, '收文填写'
union all select 4, '收文审批'
create table B(XH int, QXXH int, YHMC nvarchar(10))
insert B select 1, 2, '张三'
union all select 2, 3, '张三'
union all select 3, 1, '李四'
union all select 4, 3, '李四'
union all select 5, 4, '李四'
select tmp.*, 是否有此权限=case when B.XH is null then 'False' else 'True' end from
(
select * from
(select distinct YHMC from B) as B
cross join A
)tmp
left join B on tmp.QXXH=B.QXXH and tmp.YHMC=B.YHMC
--result
YHMC QXXH QXMC 是否有此权限
---------- ----------- ---------- ------
李四 1 发文填写 True
李四 2 发文审批 False
李四 3 收文填写 True
李四 4 收文审批 True
张三 1 发文填写 False
张三 2 发文审批 True
张三 3 收文填写 True
张三 4 收文审批 False
(8 row(s) affected)
|
|