У меня есть следующий результат запроса (я сохранил этот результат в таблице #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
Но в этом запросе запрашивается буква column1,столбец 2 будет добавлен в группу по синтаксису, и если я это сделаю, то получу тот же результат, что и команда select * from # TMP
PD: таблица #TMP всегда должна содержать 3 одинаковых идентификатора, строки букв
PD2: значение Column1 может быть больше, чем значение Column2 в одной строке, а в следующей строке column2 может быть больше, чем column1 для результатов с тем же Id.