Помогите придумать запрос

Форум 1С: Одинэс.Ру

Найти!

Помогите придумать запрос

Rediska
21.07.2009 - 15:30
Платформа 8.1
В общем задача следующая, есть заначит таблица "Контрагент, телефон", хочу к ней сделать запрос и получить такую таблицу "Контрагент,ВсеТелефоны"
Ну все телефоны - это через запятую все телефоны это контаргента из данной вначале таблицы. Такое кто-нить делал? Это вапче возможно?
К списку тем 1 > К списку форумов

Интересные темы

odines.ru
06.12.2024 - 10:43
Смотри также:
Ошибка работы с временными таблицами в построителе
Таблица значений
Ошибка в запросе

Re: Помогите придумать запрос

Billi
7 - 21.07.2009 - 17:45
6-Rediska >В семерке прямым запросом такое можно было бы сделать, но все равно пришлось бы создавать процедуру и в ней цикл, правда все это было бы на сервере и на выходе ты бы получил готовую табличку. Но в восьмерке как всегда хотели как лучше, а получилось... SQL только для хранения таблиц, а все операции над ними делай в самой одинэске одинэсовским языком.

Re: Помогите придумать запрос

Rediska
8 - 21.07.2009 - 17:59
Ну вот эту дрянь надо засунуть в один из универсальных отчетов УТ10.3, вот в чем глобальная задача, надо чтобы этот запрос отработал, учитывая фильтры и потом его результат обработанный ещё приклеить к основному запросу.

Re: Помогите придумать запрос

Billi
9 - 21.07.2009 - 18:07
8-Rediska >Ну значит пиши процедуру, и где-нибудь вызывай ее для каждого контрагента уже после того как выполнишь запрос. Если серверный вариант, то лучше процедуру выполнять на сервере.

Re: Помогите придумать запрос

Billi
10 - 21.07.2009 - 18:09
Может завтра тебе кто-нибудь чего-нибудь другое посоветует, а у меня уже котелок не варит, два часа ночи, пошел спать.

Re: Помогите придумать запрос

Rediska
11 - 22.07.2009 - 06:11
ну вот и завтра, значит ночью поситила меня мысль, а чем числа от строк отличаются? да ни чем побольше только, а в данной задаче требуется свернуть таблицу по контрагенту и сложить в строку все его телефоны(строка 11 симвоолов), тоест еслиб телефон это было число, то никаких прблем функция сумма и вперед. Может ли запрос складывать строки обычная опреация конкатенции строк вроде не проблема.

Интересные темы

odines.ru
06.12.2024 - 10:43
Смотри также:
Очищаются реквизиты в БП при повторной загрузке изменений из УТ
План счетов
почём нынче овёс?

Re: Помогите придумать запрос

Lexusss
12 - 22.07.2009 - 06:26
(1) +1 Причем очень легко

Re: Помогите придумать запрос

Rediska
13 - 22.07.2009 - 06:36
(12) ну так как?

Re: Помогите придумать запрос

ЖКК
14 - 22.07.2009 - 06:45
13-Rediska > вариант на T-SQL проканает?

Re: Помогите придумать запрос

Lexusss
15 - 22.07.2009 - 06:56
ВЫБРАТЬ Контрагент, Телефоны
ПОМЕСТИТЬ ПолныйСписок
ИЗ РегистрСведений.КонтактнаяИнформация
ГДЕ Бла-бла-бла
;
ВЫБРАТЬ Контрагент, МИНИМУМ(Телефон) КАК ПервыйТелефон
ПОМЕСТИТЬ ПервыеТелефоны
ИЗ ПолныйСписок
СГРУППИРОВАТЬ ПО Контрагент
;
ВЫБРАТЬ ПОлныйСписок.КОнтрагент, МИНИМУМ(Телефон) КАК ВторойТелефон
ПОМЕСТИТЬ ВторыеТелефоны
ИЗ ПолныйСписок КАК ПОлныйСписок
ЛЕВОЕ СОЕДИНЕНИЕ ПервыеТелефоны КАК ПервыеТелефоны
ПО ПОлныйСписок.Контрагент = ПервыеТелефоны.Контрагент
ГДЕ Телефон <> ПервыйТелефон
СГРУППИРОВАТЬ ПО ПОлныйСписок.Контрагент
;
// И так далее сколько надо телефонов
;
ВЫБРАТЬ ПервыеТелефоны.Контрагент, ПервыйТелефон + ЕСТЬNULL(ВторойТелефон, "") + ЕстьNULL(ТретийТелефон, "") + ...
ИЗ ПервыеТелефоны
ЛЕВОЕ СОЕДИНЕНИЕ ВторыеТелефоны
ПО ПервыеТелефоны.Контрагент = ВторыеТелефоны.Контрагент
// И так далее скоко надо телефонов
Где то так. Синтаксис не проверял :-)

Re: Помогите придумать запрос

Rediska
16 - 22.07.2009 - 07:02
Спсибо , проверю, отпишусь :)
К списку тем 1 > К списку форумов

Добавить новое сообщение

Ваше имя:
Тема сообщения:
Сообщение:
« Фоновое задание может сохранить файл на диск? Очень простенький вопрос! »
© 2009 Форум 1С: Одинэс.Ру