Как использовать вещи, используя столбцы с одинаковым идентификатором - PullRequest
0 голосов
/ 03 сентября 2018

Начну с примера таблицы SQL

ID    Column

1     Name1
1     Name2
2     Name3
2     Name4

Я хочу использовать материал, но только когда ID такой же. Пример в моем выводе я хочу взять

 Name1,Name2 ->FirstRow
 Name3,Name4 ->SecondRow

Вот то, что я пытаюсь сделать, но я получаю все верхние значения в один ряд

Select REPLACE(STUFF((SELECT top(10) CHAR(10) + convert(varchar(50),TrnDocumentID) + ' '+name 
                  FROM InventoryTrans  where TrnDocumentID=TrnDocumentID
                   FOR XML PATH ('')) , 1, 1, '') ,
          CHAR(10) , CHAR(13)+CHAR(10))

Также я бы хотел использовать trnDocumentID в другом столбце, но в той же строке

1 Ответ

0 голосов
/ 03 сентября 2018

попробуйте следующее:

declare @tab table (ID int,    [Column] varchar(100))
insert into @tab select 1,     'Name1'
union
select 1,     'Name2'
union
select 2,     'Name3'
union
select 2,     'Name4'

select * from @tab

Select ID, REPLACE(STUFF((SELECT top(10) CHAR(10) + convert(varchar(50),ID) + ' '+[Column]
                  FROM @tab t_in where t_in.ID=t_out.ID
                   FOR XML PATH ('')) , 1, 1, ''),
          CHAR(10) , CHAR(13)+CHAR(10)) Grouped_Value
from @tab t_out
group by ID

Вы всегда можете изменить значение Grouped_Value для удаления части идентификатора.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...