powered by simpleCommunicator - 2.0.50     © 2025 Programmizd 02
Форумы / [игнор отключен] [закрыт для гостей] / Помогите с запросом
7 сообщений из 7, страница 1 из 1
Помогите с запросом
    #39275808
Alex.Ru
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Добрый день.
Есть обычный запрос из двух таблиц. Левое соединение. Только надо, что бы если в правой таблице есть несколько строк соответствующих левой, то что бы бралась только одна. Все равно какая. Что-то типа ПЕРВЫЕ 1. Как такое сделать?

Спасибо.
...
Рейтинг: 0 / 0
Помогите с запросом
    #39275813
Последний выдох ГПЖ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
группируй. или вторую таблицу или результат соединения
...
Рейтинг: 0 / 0
Помогите с запросом
    #39275837
Alex.Ru
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Последний выдох ГПЖ,

У меня в правой таблице еще числовые поля есть если группировать результат, то они суммируются, а надо именно отбросить лишнее. А вторая таблица очень большая. Если ее предварительно во временную таблицу фильтровать, боюсь сильно провалится производительность.
...
Рейтинг: 0 / 0
Помогите с запросом
    #39275845
javapecker
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Alex.Ru, интересно как в таком случае определить какую запись из правой таблицы брать)). Приведите пример
...
Рейтинг: 0 / 0
Помогите с запросом
    #39275858
Alex.Ru
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
javapecker,

Пример немного искусственный
есть две таблицы номенклатура и подчиненная ему ЕдиницаИзмерения у ед изм есть коэффициент. У номенклатуры есть КакоеТоЧисловоеПоле. У номенклатуры могут быть сотни единиц измерения которые очень трудно различить из за ошибок ввода пользователя.
делаем так
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
ВЫБРАТЬ
 Номенклатура.Наименование,
 Сумма(Номенклатура.КакоеТоЧисловоеПоле * ЕдиницаИзмерения.Коэффициент) КАК Результат
ИЗ Номенклатура
 ЛЕВОЕ СОЕДИНЕНИЕ ЕдиницаИзмерения 
  ПО ЕдиницыИзмерения.Владелец = Номенклатура
СГРУППИРОВАТЬ ПО
Номенклатура.Наименнование

Для одной номенклатуры в поле Результат суммируется выражение КакоеТоЧисловоеПоле*Коэффициент для всех единиц измерения, а надо что бы взялась первая попавшаяся ед изм и для нее вычислилось выражение.
Проблема в том что невозможно отличить единицы между собой, да и не нужно.
...
Рейтинг: 0 / 0
Помогите с запросом
    #39275899
javapecker
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Alex.Ru
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
выбрать т.владелец номенклатура,
максимум(т.ссылка) единицаизмерения
поместить вт
из справочник.единицыизмерения т
сгруппировать по т.владелец; 
выбрать номенклатура.ссылка номенклатура, вт.единицаизмерения 
из справочник.номенклатура номенклатура 
левое соединение вт по вт.номенклатура=номенклатура.ссылка
...
Рейтинг: 0 / 0
Помогите с запросом
    #39276007
AHDP
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Alex.Rujavapecker,

...

Для одной номенклатуры в поле Результат суммируется выражение КакоеТоЧисловоеПоле*Коэффициент для всех единиц измерения, а надо что бы взялась первая попавшаяся ед изм и для нее вычислилось выражение.
Проблема в том что невозможно отличить единицы между собой, да и не нужно.
Сумма - не единственная агрегатная функция.
P.S. Я, на вашем месте, принял коэффициент пересчёта тождественно равным единице.

javapecker + в ВТ тянуть не ссылку, а сразу нужный реквизит.
...
Рейтинг: 0 / 0
7 сообщений из 7, страница 1 из 1
Форумы / [игнор отключен] [закрыт для гостей] / Помогите с запросом
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]