조건부로 쿼리를 조인하고 싶습니다.조건부로 쿼리에 가입
쿼리 :
SELECT Part, MtlPart, Qty
FROM Mtl
결과 :
Part MtlPart Qty
1 100 1
1 101 2
1 102 2
2 200 1
2 201 1
100 120 1
100 121 1
100 122 1
120 A20 1
120 A21 1
MtlParts 또한 부품이다. 내가 뭘하고 싶은지는이 쿼리를 자체에 연결하여 연결 파트 목록을 얻는 것입니다. 예를 들어
: 조인 된 쿼리는 널 (null)을 반환 할 때까지
a.Part a.MtlPart a.Qty b.Part b.MtlPart b.Qty
1 100 1 100 120 1
1 100 1 100 121 1
1 100 1 100 122 1
1 101 1 NULL NULL NULL
1 102 1 NULL NULL NULL
내가 자체에이 쿼리를 가입하려면 :
SELECT *
FROM
(SELECT Part, MtlPart, Qty
FROM Mtl) AS A
INNER JOIN
(SELECT Part, MtlPart, Qty
FROM Mtl) AS B
ON a.MtlPartNum = b.PartNum
WHERE Part = 1
는 다음과 같은 결과를 리턴합니다. 이 예제에서 파트 1은 파트로 나열되지 않았으므로 MtlParts A20 및 A21에 도달 할 때까지 데이터를 리턴합니다.
솔직히 최선을 다하고 있습니다. 어떤 도움이나 충고라도 대단히 감사하겠습니다.
설명하는 것은 당신이 추구해야하는 것이 아닙니다. 이와 같이 동적 인 컬럼을 사용하면 존재하지 않는 컬럼을 호출하려고 할 때 문제가 발생할 수 있습니다. 1) 오직 X 중첩 된 레벨로 이동하거나 2) 하위 파트가있을 때만 식별하고 데이터 세트의 필터 뒤에있는 코드를 통해 목록의 하위 파트를 찾는 작업 만 처리해야합니다. – KHeaney
@KHeaney 옵션 1은 내가 달성하고자하는 것이지만 루프를 작성하는 방법으로 고심하고 있습니다. 어떤 제안? – user2572833