2016-08-18 2 views
0

위치라는 테이블이 하나 있는데, 여기에는 LocationID, ParentLocationID 및 LocationName 열이 포함되어 있습니다. LocationID에서 파생 된 "Location"및 "Parent Location"이있는 테이블을 표시하려고합니다. 어떻게해야합니까?SQL 하나의 열에서 여러 열을 도출합니다.

예 :

말은 예를 들어 내 표는이처럼 보였다 :

LocationID | 부모 위치 정보 | |

LocationName : LocationName

1  |  3   |  abc 

2  |  3   |  def 

3  |  NULL  |  xyz 

나는 나의 반환 테이블처럼 보이게 할 부모 위치 이름

abc   |  xyz 
def   |  xyz 
+2

일부 샘플 데이터와 도움이 원하는 결과 – Lamak

+0

@SafetyFish 코멘트에 데이터를 게시하지 말아. 데이터로 질문을 편집하고 추가 정보를 추가한다는 내용의 답글로 답하십시오. '@ userName'을 사용하여 알림을받습니다. –

답변

1

자기 조인을하십시오. 예를 들어 :

SELECT a.LocationID, a.LocationName, 
     parent.LocationID, parent.LocationName 
FROM Location a 
INNER JOIN Location parent ON a.ParentLocationID=parent.LocationID; 
+1

btw 아마도 LEFT JOIN과 같이 가야합니다. 왜냐하면 어떤 위치에는 부모가 없기 때문입니다. 당신은 재귀 웜홀이 없다면. –

+0

OP의 요구 사항에 따라 다릅니다. 'INNER JOIN'으로 부모와 함께있는 장소 만 나타납니다. 아마도 그것은 원한 것입니다. –

관련 문제