Запрос, Как строки вывести в колонки?

1. Teut_Vlad 187 27.09.20 05:35 Сейчас в теме
Нужно что бы каждый вид цены добавился в колонку и на пересечении номенклатуры и Вида цены была заполнена Цена, если такова есть.
ВЫБРАТЬ
	ЦеныНоменклатурыСрезПоследних.Номенклатура КАК Номенклатура,
	ЦеныНоменклатурыСрезПоследних.ВидЦены.Наименование КАК ВидЦены,
	ЦеныНоменклатурыСрезПоследних.Цена КАК Цена
ИЗ
	РегистрСведений.ЦеныНоменклатуры.СрезПоследних(, ) КАК ЦеныНоменклатурыСрезПоследних


По теме из базы знаний
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
10. independ 1520 27.09.20 10:04 Сейчас в теме
13. nomad_irk 72 27.09.20 11:13 Сейчас в теме
(1)Именно запросом - никак. Необходимо обработать результат запроса.
2. Andrekaa 27.09.20 06:53 Сейчас в теме
Если отчет на СКД
то в Настройке вывода добавте Таблицу, в строках "Номенклатура", в столбцах"ВидЦены"
3. Teut_Vlad 187 27.09.20 07:39 Сейчас в теме
(2) а результат СКД можно выгрузить в таблицу значений?
4. FatPanzer 27.09.20 08:17 Сейчас в теме
(3) Нет. СКД преобразовывает линейную ТЗ в табличный докумет с необходимыми группировками.
Лучше просто из линейного результата программно сформировать ТЗ в том виде, в каком требуется...
Ну или динамическое формирование запроса. Что по сути одно и то же.
5. rpashkovsky 23 27.09.20 09:32 Сейчас в теме
Помести свой запрос в виртуальную таблицу, потом соедени левым соединением по номенклатуре для каждого вида цены.
AnKonAlm; +1 Ответить
6. FatPanzer 27.09.20 09:42 Сейчас в теме
(5) Правильно понимаю - сколько видов цен, столько и соединений?
7. -AI- 27.09.20 09:49 Сейчас в теме
(6) пример из моей базы:
ВЫБРАТЬ
	спр.Ссылка,
	ДопРек1.Значение КАК ДопРек1,
	ДопРек2.Значение КАК ДопРек2,
	ДопРек3.Значение КАК ДопРек3,
ИЗ	
	Справочник.Номенклатура КАК спр
			ВНУТРЕННЕЕ СОЕДИНЕНИЕ
	Справочник.Номенклатура.ДополнительныеРеквизиты КАК ДопРек1
		ПО спр.Ссылка = ДопРек1.Ссылка
		 И ДопРек1.Свойство = &ДопРек1
			ВНУТРЕННЕЕ СОЕДИНЕНИЕ
	Справочник.Номенклатура.ДополнительныеРеквизиты КАК ДопРек2
		ПО спр.Ссылка = ДопРек2.Ссылка
		 И ДопРек2.Свойство = &ДопРек2
			ВНУТРЕННЕЕ СОЕДИНЕНИЕ
	Справочник.Номенклатура.ДополнительныеРеквизиты КАК ДопРек3
		ПО спр.Ссылка = ДопРек3.Ссылка
		 И ДопРек3.Свойство = &ДопРек3
Показать
Сделано внутреннее соединение, потому что в логике программы откуда выдран кусок, наличие реквизитов обязательно.

PS напомню, что ДополнительныеРеквизиты - это "строки", а нужны "столбцы"...

PPS для понимания, пусть это будут Длина, Ширина и Высота, и они обязательно должны быть заполнены.
AnKonAlm; +1 Ответить
8. FatPanzer 27.09.20 10:01 Сейчас в теме
(7) А если допреквизитов 5? А если 10? Как будешь запрос каждый раз переписывать?
9. -AI- 27.09.20 10:04 Сейчас в теме
(8)
Как будешь запрос каждый раз переписывать?

есть у меня в коде и такая логика....
(т.к. набор доп.реквизитов для разных видов номенклатур разный)

для этого коде формируется запрос динамически, в цикле перебирая все параметры.
11. rpashkovsky 23 27.09.20 10:58 Сейчас в теме
(8)в чем проблема получить все доступные виды цен и собрать текст запроса программно?
AnKonAlm; +1 Ответить
14. FatPanzer 27.09.20 11:42 Сейчас в теме
(11) Технически - никаких проблем. Но. Доступных видов цен может быть 20 видов, а в результат запроса попадут только две. Зачем городить 20 соединений в запросе?
По мне так проще получить быстрый линейный результат и динамически его обработать.
15. rpashkovsky 23 27.09.20 12:08 Сейчас в теме
(14)Возможно, но ведь не факт, что постобработка справится с этой задачей быстрее. Нужно проверять. В общем своё видение ситуации сказал, Вашу точку зрения услышал, на авторитетное мнение не претендую)
16. FatPanzer 27.09.20 12:12 Сейчас в теме
(15) Быстрее, чем СУБД. Не надо перекладывать вопросы компоновки на плечи СУБД. Она не для этого.
17. rpashkovsky 23 27.09.20 12:21 Сейчас в теме
(16) Я СКД еще не упоминал. У нас сейчас и мухи и котлеты в одной кастрюле. Если речь зашла про скд, то там как раз куча компоновщиков, при помощи которых хоть в дерево, хоть в таблицу значений выгружай, при чем реализованных на уровне платформы, не "корявыми" руками кодера (говоря абстрактно). Ясно, что под конкретную ситуацию можно подобрать с 10-ок вариантов решений. И настолько категоричен в этом вопросе относительно той же СКД я бы не был.
18. FatPanzer 27.09.20 12:24 Сейчас в теме
(17) ошибся, правильно - СУБД. Пляж, пиво, шум моря...
12. rpashkovsky 23 27.09.20 11:02 Сейчас в теме
ТС имея такой рейтинг на ИС задаёт детские вопросы. Где-то вы лукавите как по мне)
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот