powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Строки в новые столбцы
10 сообщений из 10, страница 1 из 1
Строки в новые столбцы
    #39825477
undll
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Есть 2 таблицы

CLIENT
ID | ID_DOC | FIO | HB

DOCUMENT
ID_DOC | Date | Name

необходимо выгрузить документ в виде 1 строки и всех людей которые к нему прицеплены
нагляднее на скрине
...
Рейтинг: 0 / 0
Строки в новые столбцы
    #39825478
undll
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
undll,

в RESULT первый столбец ID_DOC
...
Рейтинг: 0 / 0
Строки в новые столбцы
    #39825481
TaPaK
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
undll,

где ж такое спрашивают?
...
Рейтинг: 0 / 0
Строки в новые столбцы
    #39825491
Владислав Колосов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
undll,

для Excel и VBA задача.
...
Рейтинг: 0 / 0
Строки в новые столбцы
    #39825496
iiyama
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
undll,
Если у Вас в Excel-е, то оптимально через PowerQuery
...
Рейтинг: 0 / 0
Строки в новые столбцы
    #39825497
undll
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
понимаю что задача извращенная, но нужно на sql'е
...
Рейтинг: 0 / 0
Строки в новые столбцы
    #39825505
Гавриленко Сергей Алексеевич
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
undllпонимаю что задача извращенная, но нужно на sql'еПарсить Excel-файл на sql?
...
Рейтинг: 0 / 0
Строки в новые столбцы
    #39825522
iiyama
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
undll,



Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
declare @client table(id int primary key, id_doc int, FIO nvarchar(50), HB date);
declare @document table(id_doc int primary key, [date] date, [Name] nvarchar(50));

insert into @client values
(1001,2222, N'Иванов Иван Иванович','19850505'),
(1002,2222, N'Петров Иван Иванович','19860606'),
(1003,2222, N'Сидоров Иван Иванович','19870707'),
(1004,3333, N'Тестеров Иван Иванович','19880808');

insert into @document values(2222,'20190101', N'Полис страхования БЛА'),(3333,'20190131',N'ЙЦУКЕН ФЫВАПРО');

;with PData as
(
select D.id_doc, D.date, D.Name, C.Fio, C.HB, ROW_NUMBER() OVER(partition by C.id_doc order by C.HB, C.id) as N 
from @document D join @client C ON D.id_doc=C.id_doc
)

select 
	P.id_doc, P.date, P.Name,
	MAX(CASE WHEN P.N=1 THEN P.FIO ELSE NULL END) AS FIO1,
	MAX(CASE WHEN P.N=1 THEN P.HB ELSE NULL END) AS HB1,
	MAX(CASE WHEN P.N=2 THEN P.FIO ELSE NULL END) AS FIO2,
	MAX(CASE WHEN P.N=2 THEN P.HB ELSE NULL END) AS HB2,
	MAX(CASE WHEN P.N=3 THEN P.FIO ELSE NULL END) AS FIO3,
	MAX(CASE WHEN P.N=3 THEN P.HB ELSE NULL END) AS HB3
from PData P
group by P.id_doc, P.date, P.Name



...
Рейтинг: 0 / 0
Строки в новые столбцы
    #39825524
Фотография komrad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
undllпонимаю что задача извращенная, но нужно на sql'е
dynamic pivot
YouTube Video
...
Рейтинг: 0 / 0
Строки в новые столбцы
    #39825525
iiyama
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
undll,

1. Только не надо спрашивать, что делать если клиентов будет 4
2. если Вам надо на sql, то и исходный код было бы неплохо писать на sql, а не делать скриншот. Получили бы ответ гораздо быстрее

Живи долго и процветай (с)
...
Рейтинг: 0 / 0
10 сообщений из 10, страница 1 из 1
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Строки в новые столбцы
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]