|
В запросе соединить только первое найденное
| ☑ |
0
Geroy
23.02.16
✎
21:51
|
Есть пул номенклатуры и у каждой номенклатуры, есть несколько упаковок (Справочник упаковки)
Как соединить так чтобы 1 товар = 1 упаковка
даже если у 1 товара есть 2 упаковки
Было :
Товар1 - Упаковка Товар1 74566
Товар1 - Упаковка Товар1 84564
Стало:
Товар1 - Упаковка Товар1 74566
То есть вторую игнор
Товаров будет много
|
|
1
totparen
23.02.16
✎
22:10
|
Первая таблица с группировкой по товару, агрегат максимум. Все это в виртуальную таблицу. Потом вторым запросом соединяем с исходной.
|
|
2
Geroy
23.02.16
✎
22:19
|
(1) максимум оставит 1 запись?
|
|
3
эксвилл
23.02.16
✎
22:57
|
(1) Второй запрос зачем?
|
|
4
Geroy
23.02.16
✎
23:17
|
(3) пример?
|
|
5
Serginio1
23.02.16
✎
23:19
|
|
|
6
Serginio1
23.02.16
✎
23:21
|
|
|
7
Geroy
23.02.16
✎
23:46
|
(5) (6) ничего похожего там нет
|
|
8
Geroy
23.02.16
✎
23:47
|
(7) нужно выбрать из справочника упаковки
только разные товар и их упаковки, даже если у товара будет несколько упаковок
|
|
9
totparen
24.02.16
✎
05:30
|
Запрос = Новый Запрос;
Запрос.Текст = "
|ВЫБРАТЬ
| ВЗ.Товар,
| МАКСИМУМ(ВЗ.Упаковка) КАК Упаковка
|ИЗ
| (ВЫБРАТЬ
| ""Товар1"" КАК Товар,
| ""Упаковка_Товар1_74566"" КАК Упаковка
|
| ОБЪЕДИНИТЬ ВСЕ
|
| ВЫБРАТЬ
| ""Товар1"",
| ""Упаковка_Товар1_84564"") КАК ВЗ
|
|СГРУППИРОВАТЬ ПО
| ВЗ.Товар";
РезультатЗапроса = Запрос.Выполнить();
|
|
10
Starhan
24.02.16
✎
07:45
|
Сколько сталкивался с такой задачей от пользователей, всегда они от нее отказывались или в итоге не нужно было. Потому что информация в таком виде (случайная упаковка из многих например) лишена смысла :).
Уж лучше имхо выводить количество упаковок. :)
|
|
11
Serginio1
24.02.16
✎
09:54
|
(7) Там как раз выбирается первая запись из выборки с использованием сортировки.
Например по твой задаче можно выбрать упаковки с минимальным количеством
|
|
12
HardBall
24.02.16
✎
10:55
|
(10) +1
Когда начинаются вопросы а Как в запросе провернуть такую...?
Сразу становится ясно,что постановка задачи хромает.
|
|
13
Serginio1
24.02.16
✎
11:20
|
(12) Приведу пример. Нужно найти лучший прайс по цене и по остаткам на складе. Мин не прокатывает.
Саммый эффективный это использовать ties Code First и Linq to EF на примере 1С версии 7.7
На на безрыбье ...
|
|
Кaк может человек ожидaть, что его мольбaм о снисхождении ответит тот, кто превыше, когдa сaм он откaзывaет в милосердии тем, кто ниже его? Петр Трубецкой