|
Подскажите как результат запроса развернуть по горизонтали? | ☑ | ||
---|---|---|---|---|
0
Ivan_495
04.07.17
✎
11:48
|
Подскажите как результат запроса развернуть по горизонтали.
Выводится участник у него может быть несколько дат рождения детей. Даты нужно разложить по колонкам дата1, дата2. ВЫБРАТЬ участники.Участник, ЗаказТураУчастники.Ссылка, КОЛИЧЕСТВО(1) КАК КоличествоУчастников, МИНИМУМ(РАЗНОСТЬДАТ(ЗаказТураУчастники.Участник.ДатаРождения, ЗаказТураУчастники.Ссылка.ДатаНачало, ГОД)) КАК ВозрастУчастникаМинимуму, МАКСИМУМ(РАЗНОСТЬДАТ(ЗаказТураУчастники.Участник.ДатаРождения, ЗаказТураУчастники.Ссылка.ДатаНачало, ГОД)) КАК ВозрастУчастникаМаксимум ПОМЕСТИТЬ ЗАКАЗЫТИП ИЗ (ВЫБРАТЬ ПЕРВЫЕ 1000 ЗаказТураУчастники.Участник КАК Участник, ЗаказТураУчастники.Ссылка КАК Ссылка ИЗ Документ.ЗаказТура.Участники КАК ЗаказТураУчастники) КАК участники ЛЕВОЕ СОЕДИНЕНИЕ Документ.ЗаказТура.Участники КАК ЗаказТураУчастники ПО участники.Ссылка = ЗаказТураУчастники.Ссылка СГРУППИРОВАТЬ ПО ЗаказТураУчастники.Ссылка, участники.Участник ; //////////////////////////////////////////////////////////////////////////////// ВЫБРАТЬ ЗАКАЗЫТИП.Участник КАК Участник, ЗаказРебенок.ДатаРожденияРебенка КАК ДатаРожденияРебенка ИЗ ЗАКАЗЫТИП КАК ЗАКАЗЫТИП ВНУТРЕННЕЕ СОЕДИНЕНИЕ (ВЫБРАТЬ ВЫБОР КОГДА РАЗНОСТЬДАТ(ЗАКАЗЫТИП.Участник.ДатаРождения, ЗАКАЗЫТИП.Ссылка.ДатаНачало, ГОД) < 12 ТОГДА ЗАКАЗЫТИП.Участник.ДатаРождения ИНАЧЕ NULL КОНЕЦ КАК ДатаРожденияРебенка, ЗАКАЗЫТИП.Ссылка КАК Ссылка ИЗ ЗАКАЗЫТИП КАК ЗАКАЗЫТИП ГДЕ РАЗНОСТЬДАТ(ЗАКАЗЫТИП.Участник.ДатаРождения, ЗАКАЗЫТИП.Ссылка.ДатаНачало, ГОД) < 12) КАК ЗаказРебенок ПО ЗАКАЗЫТИП.Ссылка = ЗаказРебенок.Ссылка СГРУППИРОВАТЬ ПО ЗАКАЗЫТИП.Участник, ЗаказРебенок.ДатаРожденияРебенка УПОРЯДОЧИТЬ ПО ЗАКАЗЫТИП.Участник.Наименование |
|||
1
Михаил Козлов
04.07.17
✎
11:53
|
Зачем Вам в запросе разворачивать по-горизонтали?
Если для отчета, то либо построитель отчета, либо Универсальный отчет, либо СКД. Последние 2 умеют это сами. |
|||
2
mexanik_96
04.07.17
✎
11:55
|
(2) ты вчера приходил? ответ в (1) даже если не для отчета, программно формируешь скд, выбрасываешь в тз. всё.
|
|||
3
patapum
04.07.17
✎
11:56
|
(1) СКД развернет по датам (всем разным) и будет простыня
ТС хочет, если я правильно понимаю, чтобы первая дата у всех была в первой колонке, вторая (если есть) - во второй и т.д. Можно запрос усложнить и получить в нем номер даты, кроме самой даты, тогда дальше легко. Но это если нет очень больших выборок. |
|||
4
Ivan_495
04.07.17
✎
12:06
|
(3) да именно так
первая дата у всех была в первой колонке, вторая (если есть) - во второй и т.д. запрос является часть большого запроса. поэтому хочу разложить без скд. по идее нужно просто пронумеровать строки по порядку потом тащить первую, вторую, третью как пронумеровать строки внутри группировки запроса? |
|||
5
Михаил Козлов
04.07.17
✎
12:09
|
(4) Обход по группировкам.
|
|||
6
Dvoe4nik
04.07.17
✎
12:52
|
(4) а почему нельзя группировку по "Ребенок 1","Ребенок 10"...?
|
|||
7
Ivan_495
04.07.17
✎
14:04
|
(6) да можно. но для этого детей пронумеровать в запросе нужно. а 1с не делает
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |