使用SQL将节点、页面、按钮整合到一个表中

先说下基本业务:

有四个表,分别为节点表(S_WORKFLOWNODE)、页面表(S_PAGE)、视图表(S_VIEW)和按钮表(S_FUNCTION)。

四个表之间的联系为:页面表中只记录节点表的主键序号、视图表中只记录页面表的主键序号、按钮表中只记录视图表的主键序号。

要求:每个按钮所属视图、页面和节点,每个节点下有哪些页面、视图和按钮。

所用数据库:SQL Server 2005

 

SQL如下:

select aa.*,bb.* from (
SELECT w.S_WORKFLOWNODE_ as wS_WORKFLOWNODE_,w.NODENAME as wNODENAME,w.NODELEVEL as wNODELEVEL,w.showorder as wshoworder,
P.S_workflownode_ as pS_workflownode_,p.S_PAGE_ID as pS_PAGE_ID,p.PAGENAME as pPAGENAME
FROM         S_WORKFLOWNODE w
left join S_PAGE p
on p.S_WORKFLOWNODE_ = w.S_WORKFLOWNODE_
--where w.NODELEVEL>0
) as aa

left join 
(
select V.S_VIEW_ID as vS_VIEW_ID,V.S_PAGE_ID as vS_PAGE_ID,V.VIEWNAME as vVIEWNAME, 
F.S_VIEW_ID as fS_VIEW_ID,F.S_FUNCTION_ID as fS_FUNCTION_ID,F.FUNCTIONNAME  as fFUNCTIONNAME
from S_VIEW  V
LEFT JOIN S_FUNCTION F
ON V.S_VIEW_ID=F.S_VIEW_ID
WHERE isnull(S_PAGE_ID,0)>0
)as bb 
on aa.pS_PAGE_ID=bb.vS_PAGE_ID

--where aa.wS_WORKFLOWNODE_>=31
order by aa.wS_WORKFLOWNODE_

 有了这个SQL,以后要统计系统流程节点信息就easy了,啦啦啦啦酷

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值