한 스키마에서 다른 스키마로 데이터베이스를 변환하는 가져 오기 도구를 작성하려고합니다.연속적인 방법으로 부모 - 자식 관계 쿼리
그래서 이제 부모 - 자식 관계 (PK ID
FK ParentID
경유)를 사용하는 테이블을 보았고 모든 레코드를 연속적으로 선택하려고합니다.
내 쿼리의 위험 요소는 부모 요소가 아직 가져 오지 않은 하위 요소를 가져 오려고 할 수 있다는 것입니다. 이렇게하면 가져 오지 않을 레코드 집합이되므로 피할 수 있습니다.
I가 작업 한내 쿼리는 다음과 같습니다 :
SELECT * FROM Table a INNER JOIN Table b ON (b.ParentID=a.ID and a.ID= b.ParentID)
를 불행하게도 (그것은 나에게 테이블의 모든 레코드를 제공하지 않습니다) 작동하지 않는, 그래서 제공하는 질의를 필요로한다 나 테이블에있는 모든 행을 자식 요소와 부모 요소로 정렬하여 가져 오기 위해 반복 할 수 있습니다.
누군가 나를 인도 할 수 있습니까?
두 경우 모두 같기 때문에 쿼리의'및'절은 필요하지 않습니다. 그러나 이와 같은 경우에는 먼저 모든 부모 레코드를 가져온 다음 모든 자식 레코드를 가져올 것입니다. 즉, 'TableB select * from ParentID가 null 인 테이블에서 가져 오기'와 같이 'Import into TableB select * 테이블에서 ParentID가 null이 아닙니다 '. – beercodebeer
나는 그와 비슷한 것을 생각했다. 하지만 상속 깊이가 1 이상이기 때문에 작동하지 않습니다. 따라서 하위 요소가 다른 하위 요소의 부모 요소 일 수 있습니다. – SeToY
그러나 절대 상위 요소가 있어야합니다. 그렇지 않습니다. 자녀가 아닌 요소? 만약 그렇다면 여전히 첫 번째 쿼리를 실행 한 다음 모든 레코드를 얻을 때까지 다음과 같은 것을 반복적으로 실행할 수 있습니다 :'TableB select * from Table로 삽입 ParentID가 null이 아니고 존재하는 경우 (TableB에서 ID = Table.ParentID)' – beercodebeer