안녕하세요 저는 Oracle 데이터베이스에서이 부분을 보았고 Microsoft SQL Server에서이를 변경해야합니다.Oracle에서 SQL Server로 먼저 연결하여 선택 변경
with V_LOCHIERARHY_N
(nr, nivel, location, parent, systemid, siteid, orgid, count_a, count_wo, children)
AS
SELECT LEVEL, LPAD (' ', 2 * (LEVEL - 1)) || l.LOCATION nivel,
LOCATION, PARENT, systemid, siteid, orgid,
(SELECT COUNT (a.ancestor)
FROM locancestor a
WHERE a.LOCATION = l.LOCATION AND a.siteid = l.siteid),
NVL (COUNT (w.wonum), 0)
FROM maximo.workorder w
WHERE ( w.reportdate >
TO_TIMESTAMP ('2006-06-19 00:00:01',
'YYYY-MM-DD HH24:MI:SS.FF'
)
AND w.istask = 0
AND w.worktype <> 'P'
AND w.LOCATION = l.LOCATION
)
AND w.status <> 'CAN'),
l.children
FROM lochierarchy l
START WITH l.LOCATION = 'StartPoint'
CONNECT BY PRIOR l.LOCATION = l.PARENT AND l.siteid = 'SiteTest'
이 스크립트에서 필요한 항목은 주어진 항목의 모든 하위 항목 (위치 표에서 찾을 수있는 하위 항목의 설명)을 반환하는 것입니다.
Location Parent Systemid Children Siteid Origid Lochierarchyid
A001 StartPoint Primary 2 SiteTest X 106372
A002 A001 Primary 2 SiteTest X 105472
A003 A002 Primary 0 SiteTest X 98654
A004 A002 Primary 1 SiteTest X 875543
A004B A004 Primary 0 SiteTest X 443216
B005 StartPoint Primary 0 SiteTest X 544321
주어진 항목 A001에 대한 예를 들어 나는 아래이보기를 만든하지만 난 방법을 모른다
A002
A003
A004
A004B
B005
반환합니다
나는 다음 열이있는 테이블이 그것을 첫 번째 것과 통합합니다. 또한 그것은 누군가가 나를 도와주세요 수 corectly 위해
Parent
Children 1 of parent
Children a of children 1
children b of children 1
children 2 of parent
children a1 of children 2 and so on.
WITH testCTE AS
(
SELECT l.parent, l.location as child, l.location, l.lochierarchyid
FROM lochierarchy l
where location='SecondLocation' --and siteid='SiteTest'
UNION ALL
SELECT c.Parent, l.parent, l.location, l.lochierarchyid
FROM lochierarchy l
INNER JOIN testCTE c ON l.parent = c.location
)
SELECT *
FROM testCTE c
order BY c.parent,child asc
;
나에게 목록을 반환하지 않습니다? :)
시간이 있다면 해결책을 찾아 보겠습니다. 당신은 또한 도움을 받아 스스로 알아낼 수도 있습니다. 아래 기사에서는 재귀 하위 쿼리를 사용하여 "연결 기준"쿼리의 모든 기능을 재현하는 방법을 단계별로 보여줍니다. https://oracle-base.com/articles/11g/recursive-subquery-factoring-11gr2 – mathguy
귀하의 게시물을 파기하지 * 마십시오. –
[SQL Server의 SELECT에서 UPDATE하는 방법] 가능한 복제본 (영문) (http://stackoverflow.com/questions/2334712/how-to-update-from-a-select-in-sql-server) – Madalina