|
Запрос: из Столбика в Строчку | ☑ | ||
---|---|---|---|---|
0
GoKerze
02.11.15
✎
13:31
|
Доброго времени суток. Категорически извиняюсь за повтор темы. Не смог придумать как это гуглить.
Пишу запрос. Очень хочется сделать вот такую штуку. Из регистра достаем вот такую табличку: ФизЛицо Реквизит Вася Пупкин Белый Вася Пупкин Пушистый Вася Пупкин Наркоман Иван Иванович Черный Иван Иванович Лысый Иван Иванович Спортсмен Иван Иванович Комсомол А хочется вот такую табличку: ФизЛицо Реквизит1 Реквизит2 Реквизит3 Реквизит4 Вася Пупкин Белый Пушистый Наркоман NULL Иван Иванович Черный Лысый Спортсмен Комсомол Если столбцов во второй таблице не хватает - отбрасываем. Как бы такой запрос мог выглядеть? |
|||
1
User_Agronom
02.11.15
✎
13:33
|
(0) СКД это лихо делает.
Если отчет, смотри СКД. |
|||
2
Одинесю
02.11.15
✎
13:34
|
Соединением соединяешь справа, объединением снизу.
|
|||
3
Горогуля
02.11.15
✎
13:34
|
как несколько самосоединений
|
|||
4
rs_trade
02.11.15
✎
13:39
|
(0) Это называется транспонирование
|
|||
5
GANR
02.11.15
✎
13:47
|
(0) Задача в рамках ЗАПРОСА 1С решается так:
1. Пронумеровать свойства внутри группы ФизЛицо по алфавиту Книга знаний: Нумерация строк в запросе 2. Использовать выбор когда как в п.11 в ветке Как правильно составить запрос? |
|||
6
GoKerze
02.11.15
✎
14:44
|
(5) Спасибо. Хорошие ссылки.
Нумерация у меня уже готовая была - от табличной части. Запрос подразумевает, что более двух родственников не может быть никогда! Но так было задумано. ВЫБРАТЬ ФизическиеЛицаСоставСемьи.Ссылка, ФизическиеЛицаСоставСемьи.НомерСтроки, ФизическиеЛицаСоставСемьи.Имя, ФизическиеЛицаСоставСемьи.СтепеньРодства, ФизическиеЛицаСоставСемьи.ДатаРождения ПОМЕСТИТЬ ИсходныйВид ИЗ Справочник.ФизическиеЛица.СоставСемьи КАК ФизическиеЛицаСоставСемьи ; //////////////////////////////////////////////////////////////////////////////// ВЫБРАТЬ ИсходныйВид.Ссылка КАК ФизЛицо, ВЫБОР КОГДА ИсходныйВид.НомерСтроки = 1 ТОГДА ИсходныйВид.Имя ИНАЧЕ NULL КОНЕЦ КАК Имя1, ВЫБОР КОГДА ИсходныйВид.НомерСтроки = 1 ТОГДА ИсходныйВид.СтепеньРодства ИНАЧЕ NULL КОНЕЦ КАК СтепеньРодства1, ВЫБОР КОГДА ИсходныйВид.НомерСтроки = 1 ТОГДА ИсходныйВид.ДатаРождения ИНАЧЕ NULL КОНЕЦ КАК ДатаРождения1, ВЫБОР КОГДА ИсходныйВид.НомерСтроки = 2 ТОГДА ИсходныйВид.Имя ИНАЧЕ NULL КОНЕЦ КАК Имя2, ВЫБОР КОГДА ИсходныйВид.НомерСтроки = 2 ТОГДА ИсходныйВид.СтепеньРодства ИНАЧЕ NULL КОНЕЦ КАК СтепеньРодства2, ВЫБОР КОГДА ИсходныйВид.НомерСтроки = 2 ТОГДА ИсходныйВид.ДатаРождения ИНАЧЕ NULL КОНЕЦ КАК ДатаРождения2 ПОМЕСТИТЬ МногоСтрок ИЗ ИсходныйВид КАК ИсходныйВид ; //////////////////////////////////////////////////////////////////////////////// ВЫБРАТЬ МногоСтрок.ФизЛицо, МАКСИМУМ(МногоСтрок.Имя1) КАК Имя1, МАКСИМУМ(МногоСтрок.СтепеньРодства1) КАК СтепеньРодства1, МАКСИМУМ(МногоСтрок.ДатаРождения1) КАК ДатаРождения1, МАКСИМУМ(МногоСтрок.Имя2) КАК Имя2, МАКСИМУМ(МногоСтрок.СтепеньРодства2) КАК СтепеньРодства2, МАКСИМУМ(МногоСтрок.ДатаРождения2) КАК ДатаРождения2 ИЗ МногоСтрок КАК МногоСтрок СГРУППИРОВАТЬ ПО МногоСтрок.ФизЛицо |
|||
7
GANR
02.11.15
✎
16:06
|
(6) Не так
выбрать ФизЛицо, Максимум(выбор когда НПП = 1 тогда Реквизит конец) как Поле1, Максимум(выбор когда НПП = 2 тогда Реквизит конец) как Поле2, Максимум(выбор когда НПП = 3 тогда Реквизит конец) как Поле3 из МногоСтрок Сгруппировать ФизЛицо понял? но вообще лучше средства СКД задействовать, как (1) советует |
|||
8
SiAl-chel
03.11.15
✎
06:08
|
(0) Нет, это не транспонирование, это кросс-таблица. Транспонирование это когда столбцы в строки, а строки в столбцы.
|
|||
9
SiAl-chel
03.11.15
✎
07:44
|
В (8) опечатка, ответ для (4)
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |