[size=large]这个是我昨天写的一个SQL语句,是mysql的,本身想用程序来写的,最后还是用sql写出来了,小有自豪感。但不知道效率如何,还的请高人指点。[/size]
select na.source_node_id as project_id, p.pname,
(select pc.cname
from projectcategory as pc
where pc.id in (select na_2.sink_node_id
from nodeassociation as na_2
where na_2.sink_node_entity = 'ProjectCategory'
and na_2.source_node_id = na.source_node_id)
) as 'ProjectCategory',
(select ps.name from permissionscheme as ps
where ps.id in (
select na_2.sink_node_id
from nodeassociation as na_2
where na_2.sink_node_entity = 'PermissionScheme'
and na_2.source_node_id = na.source_node_id)
)as 'PermissionScheme',
ra.roletypeparameter,
(select itss.name
from issuetypescreenscheme as itss
where itss.id in (select na_2.sink_node_id
from nodeassociation as na_2
where na_2.sink_node_entity = 'IssueTypeScreenScheme'
and na_2.source_node_id = na.source_node_id)
)as 'IssueTypeScreenScheme'
from nodeassociation as na
join project as p
on na.source_node_id = p.id
join projectroleactor as ra
on na.source_node_id = ra.pid and ra.projectroleid = 10040
group by na.source_node_id
order by na.source_node_id, na.sink_node_entity;