Сообщение Соединение в разрезе номеров строк от 26.07.2018 7:14
Изменено 26.07.2018 7:25 Воронин Иван
Соединение в разрезе номеров строк
Есть MS SQL 2008
Таблица для примера:
На выходе нужен результат:
Извините, миссклик, сейчас допишу.
Таблица для примера:
create table #TT (Korr varchar(100), mType integer, mObject varchar(100), mSum numeric(10,2));
insert into #TT values
('Вася', 1,'Стол', 1.5),
('Вася', 1,'Стул', 0.5),
('Вася', 2,'Диван', 5),
('Петя', 1,'Стол', 1.7),
('Петя', 2,'Стул', 0.7)
На выходе нужен результат:
Corr Type1Object Type1Sum Type2Object Type2Sum
Вася Стол 1,50 Диван 5,00
Вася Стул 0,50 NULL NULL
Петя Стол 1,70 Стул 0,70
Извините, миссклик, сейчас допишу.
Соединение в разрезе номеров строк
Есть MS SQL 2008
Таблица для примера:
На выходе нужен результат:
Корреспондентов десятки, типов около десятка, до двух.
Можно разделить на таблицы в разрезе типов, пронумеровать в каждой строки в разрезе корреспондентов (row_number() over...) и потом соединить в разрезе корреспондентов и номеров строк.
Как это сделать короче и не медленнее?
Таблица для примера:
create table #TT (Korr varchar(100), mType integer, mObject varchar(100), mSum numeric(10,2));
insert into #TT values
('Вася', 1,'Стол', 1.5),
('Вася', 1,'Стул', 0.5),
('Вася', 2,'Диван', 5),
('Петя', 1,'Стол', 1.7),
('Петя', 2,'Стул', 0.7)
На выходе нужен результат:
Corr Type1Object Type1Sum Type2Object Type2Sum
Вася Стол 1,50 Диван 5,00
Вася Стул 0,50 NULL NULL
Петя Стол 1,70 Стул 0,70
Корреспондентов десятки, типов около десятка, до двух.
Можно разделить на таблицы в разрезе типов, пронумеровать в каждой строки в разрезе корреспондентов (row_number() over...) и потом соединить в разрезе корреспондентов и номеров строк.
Как это сделать короче и не медленнее?