4

テーブルに次のレコードがあります。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-90103など

ありがとう

4

1 に答える 1

2

テーブル構造とデータ:

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)

自己結合クエリの例:

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
于 2013-06-05T11:01:09.787 に答える