2013-06-05 1 views
3

테이블에 다음 레코드가 있습니다. column1과 column3을 보면 이들 데이터 사이에 연결 고리가 있습니다.관련 레코드 간의 연결을 쿼리하는 방법은 무엇입니까?

Column1   Column2   Column3 
----------------- ---------------- -------------------- 
20003    PurchaseTrx  50001 
20008    PurchaseTrx  50008 
20011    ProductionTrx 90103 
20011    ProductionTrx 90085 
20026    PurchaseTrx  50021 
20026    ProductionTrx 90145 
20053    PurchaseTrx  50032 
50008    PurchaseTrx  20008 
50001    PurchaseTrx  20003 
90085    SalesTrx   20011 
90085    ProductionTrx 90103 
90145    SalesTrx   20026 
90145    PurchaseTrx  50021 

가 어떻게가 함께 이러한 데이터를 연결할 수 있습니다 쿼리를해야한다? 예 : 이러한 데이터는 ...

  1. 20003-50001 및 50001-20003
  2. 20008-50008 및 50008-20008
  3. 20011-90085, 20011-90103 및 90085-20011 및 90085- 서로 링크되어 90,103 등에

감사

+0

사용해보십시오을 자기 .. 자세한 정보를 원하시면 http://www.udel.edu/evelyn/SQL-Class3/SQL3_self.html – Meherzad

답변

1

테이블 구조 및 데이터 :

CREATE TABLE [MyTable] 
(
    [Column1] INT, 
    [Column2] VARCHAR(20), 
    [Column3] INT 
) 

INSERT [MyTable] VALUES(20003, 'PurchaseTrx', 50001) 
INSERT [MyTable] VALUES(20008, 'PurchaseTrx', 50008) 
INSERT [MyTable] VALUES(20011, 'ProductionTrx', 90103) 
INSERT [MyTable] VALUES(20011, 'ProductionTrx', 90085) 
INSERT [MyTable] VALUES(20026, 'PurchaseTrx', 50021) 
INSERT [MyTable] VALUES(20026, 'ProductionTrx', 90145) 
INSERT [MyTable] VALUES(20053, 'PurchaseTrx', 50032) 
INSERT [MyTable] VALUES(50008, 'PurchaseTrx', 20008) 
INSERT [MyTable] VALUES(50001, 'PurchaseTrx', 20003) 
INSERT [MyTable] VALUES(90085, 'SalesTrx', 20011) 
INSERT [MyTable] VALUES(90085, 'ProductionTrx', 90103) 
INSERT [MyTable] VALUES(90145, 'SalesTrx', 20026) 
INSERT [MyTable] VALUES(90145, 'PurchaseTrx', 50021) 
,451,515,

쿼리 예를 자체 조인

SELECT CONVERT(VARCHAR(10),t1.[Column1]) + '-' + CONVERT(VARCHAR(10),t2.[Column1]), t1.[Column2] 
FROM [MyTable] t1 
INNER JOIN [MyTable] t2 
    ON t1.[Column1] = t2.Column3 
+0

감사 톰 참조 : 당신이 가입 큰! – user2454981

+0

Stack Overflow에 대한 사람들에게 감사하는 가장 좋은 방법은 upvote ..입니다. :) –