Как я могу вернуть несколько строк в одну строку в соответствии с датой и department_id?
У меня есть таблица под названием транзакция, которая содержит следующие поля
create table TransactionTable( Department_id int not null, date date, comments varchar(20) ); insert into TransactionTable(Department_id,date,comments) values(1,'2/2/2018','comment 2'); insert into TransactionTable(Department_id,date,comments) values(1,'2/2/2018','comment 3'); insert into TransactionTable(Department_id,date,comments) values(1,'5/5/2017','comment 3'); insert into TransactionTable(Department_id,date,comments) values(1,'4/5/2018','comment 3'); insert into TransactionTable(Department_id,date,comments) values(1,'6/2/2018','comment 5'); insert into TransactionTable(Department_id,date,comments) values(3,'3/4/2018','comment 2'); insert into TransactionTable(Department_id,date,comments) values(3,'5/5/2017','comment 3'); insert into TransactionTable(Department_id,date,comments) values(3,'5/5/2017','comment 2'); insert into TransactionTable(Department_id,date,comments) values(3,'4/5/2018','comment 3'); Department_ID Date Comment 1 2018-02-02 comment 1 1 2018-02-02 comment 2 1 2018-03-04 comment 2 1 2017-02-04 comment 3 1 2017-05-05 comment 3 1 2018-04-05 comment 3 1 2018-06-02 comment 5 3 2018-03-04 comment 2 3 2017-02-04 comment 3 3 2017-05-05 comment 3 3 2017-05-05 comment 2 3 2018-04-05 comment 3
Мой вывод будет выглядеть примерно так
Department_ID Дата Комментарий
1 2018-02-02 comment1,comment2
3 2017-05-05 комментарий 3,комментарий 2
Что я уже пробовал:
SELECT Department_DATE,DATE,comment1 = STUFF(( SELECT distinct ',' + comment FROM TransactionTable t1 where t1.Department_ID= t2.Department_ID FOR XML PATH ('')), 1, 1, '' ) FROM TransactionTable t2 GROUP BY Department_ID,DATE;
Santosh kumar Pithani
Прежде чем публиковать какие-либо примеры данных, вы должны быть уверены в этом.