#0
by DrLekter
В запросе временная таблица левым соединением объединяется с регистром сведений, в котором по объединяющему полю может быть несколько записей. Примерно так: Таблица.Номенклатура, В Таблице Номенклатура уникальна, а в регистре в общем случае может быть больше одной записи с этим полем. Тогда запрос выбирает два поля Номенклатура, по одному для каждого соответствия Номенклатура-Поставщик. Как сделать, чтобы выбиралась только одна запись, даже все равно, какая из имеющихся, чтобы поле Номенклатура в результате запроса осталось уникальным?
#4
by DrLekter
Есть смысл, долго объяснять, вкратце - нужно быстро создать подтверждающие документы из, вероятно, большого списка товаров. В большинстве случаев поставщик один, но могут быть и варианты.
#5
by 5 Элемент
Если время выполнения запроса критично, то я бы сначала запихал во временную таблицу сгруппированные записи ТоварыПоПоставщикам с отбором по номенклатуре. А потом соединял.
#6
by DrLekter
Вот мне тоже такое в голову пришло, но думал, что ЛЕВОЕ СОЕДИНЕНИЕ может по-разному работать. В фокспрошном SQL умеет же и так, и так ))
#7
by DrLekter
Другой вариант - при обработке выборки в цикле искать первую запись в регистре, но при многих тысячах записей могут быть тормоза, да и зачем лишний раз систему грузить.
#9
by Aprobator
че за бред? По одному товару может быть несколько поставщиков и надо выбрать случайного поставщика?
#11
by DrLekter
Вопрос не в смысле задачи, а в методе решения ) Вместо Номенклатуры и Поставщика может быть что-то другое. В данном случае я вкратце объяснил, зачем это заказчику понадобилось.
#12
by Ёпрст
сам то понял, что бред написал ? Засада в том, что снеговик не поддерживает коррелированые подзапросы, в этом главный минус. Если не важен поставщик, то так: Выбрать Таблица.Номенклатура, Таблица.Номенклатура = Рег.Номенклатура Сгруппировать По Таблица.Номенклатура
#15
by DrLekter
Хм, действительно работает. Судя по результатам, Максимум выбирает последнюю запись по хронологии, Минимум - первую.
#22
by DrLekter
Но сам-то идентификатор (значение его) нарастает последовательно (если я правильно понимаю), так что фактически получается по хронологии )
Тэги:
Ответить:
Комментарии доступны только авторизированным пользователям
Похожие вопросы 1С
В этой группе 1С
- Где находятся регламентные (фоновые) задания в УТ 10,3?
- 1sqlite долго выполняется запрос по остаткам
- Форма: Очищаются значения в "своей" колонке реквизита ТЧ при записи
- Автообмен с использованием почты в 1С 7.7
- Как синтезатор casio подключить к компьютеру?
- При открытии регламентированных отчетов вылетает
- УПП: Накладная на возвратные отходы от переработчика
- БП 20 для чего нужно 2-е субконто по 91.02 Реализуемые активы?
- Конфигурация "Конвертация данных". Как отключить поиск по уникальному ID
- Ошибка создания базы SQL
- ЗУП в табеле не ставиться больничный
- Отследить событие "Помечен на удаление" в форме списка
- Honeywell MS9520 + УТ 10.3 (8.2)
- БП 2.0. Отчетность. Форма 2.
- Висит 1с 8.2 при запуске
- Совместное использование БП КОРП, ЗУП КОРП и УТ11?
- Начисление НДС за счет прибыли
- Kerio нет в интерфейсах PPPoE
- Частичная выгрузка-загрузка в конвертации данных
- Стоит ли переходить на УТ 11?