我有以下查询结果(我将结果存储在#TMP表中)
Id | Letter | Column1 | Column2
1 | A | 400 | 200
1 | A | 101 | 201
1 | A | 102 | 203
2 | A | 100 | 200
2 | A | 700 | 201
2 | A | 102 | 202
我想要做的是对该#TMP表进行选择,但是现在我想要这样的输出:
Id | Letter | Alias1 | Alias2 | Alias1-1 | Alias2-1 | Alias1-2 | Alias2-2
1 | A | 400 | 200 | 101 | 201 | 102 | 203
2 | A | 100 | 200 | 700 | 201 | 102 | 202
我该怎么做?我尝试加入,但是得到了很多相同的结果。
select A.Id, A.Letter, B.Column1, B.Column2
from #TMP A
inner join #TMP B ON A.Id = B.Id AND A.Letter = B.Letter
我还尝试了一个分组方式
select Id, Letter, Column1, Column2
from #TMP
group by Id
但是此查询要求按语法将字母,第1列,第2列添加到分组中,如果执行此操作,则会得到与从#TMP中选择*相同的结果
PD:#TMP表始终必须包含3个相同的ID,字母行
PD2:对于具有相同ID的结果,第一行的Column1值可能大于第二列的值,而在下一行中,第二列的column2值可能大于column1。