我有一张表格,其中包含以下信息:
MatchID DataID Data
1 100 info1
1 101 info2
2 102 info3
2 103 info4
2 104 info5
3 105 info6
3 106 info7
3 107 info8
3 108 info9
我需要将结果放在两列中,每个匹配的ID都有一行,如下所示:
MatchID DataID1 Data1 DataID2 Data2
1 100 info1 101 info2
2 102 info3 103 info4
2 102 info3 104 info5
2 103 info4 104 info5
3 105 info6 106 info7
3 105 info6 107 info8
3 105 info6 108 info9
3 106 info7 107 info8
3 106 info7 108 info9
3 107 info8 108 info9
非常感谢任何帮助。
答案 0 :(得分:5)
您可以使用加入来执行此操作:
select t1.matchid, t1.dataid, t1.data, t2.dataid, t2.data
from t t1 join
t t2
on t1.matchid = t2.matchid and
t1.dataid < t2.dataid