最近有人问SQL查询出变等级的连接。经测试,示例如下:
select distinct t1.con1oid as conoid,
t1.part1name ,t1.part1oid,
t1.spec1name,t2.part2name,t2.spec2name,t2.part2oid from (select xx.oid as con1oid,
xasd.oid as part1oid, ni.ItemName as part1name,sd.SpecName as spec1name from JRteDistribConnection xx
join
XRelConnectionAndPartOcc zx on zx.oidorigin = xx.oid
join JRtePathGenPart xasd on xasd.Oid = zx.OidDestination
join JNamedItem ni on ni.Oid = xasd.Oid
join YPartsToRunSpecification ss on ss.OidDestination = xasd.oid
join JDPipeSpec sd on sd.oid = ss.OidOrigin) t1
join (
select xx.oid as con2oid,
xasd.oid as part2oid, ni.ItemName as part2name,sd.SpecName as spec2name from JRteDistribConnection xx
join
XRelConnectionAndPartOcc zx on zx.oidorigin = xx.oid
join JRtePathGenPart xasd on xasd.Oid = zx.OidDestination
join JNamedItem ni on ni.Oid = xasd.Oid
join YPartsToRunSpecification ss on ss.OidDestination = xasd.oid
join JDPipeSpec sd on sd.oid = ss.OidOrigin) t2 on t1.con1oid = t2.con2oid
where t1.part1oid <> t2.part2oid and t1.spec1name <> t2.spec2name





您需要登录 或注册 后才可以发表评论。