|
Выбор единственного значения по левому соединению | ☑ | ||
---|---|---|---|---|
0
commdt
20.02.15
✎
14:59
|
Извечная проблема, но хочется ещё раз помусолить.
Делаю поиск номенклатуры по Артикулу и (или) Наименованию в одном запросе (Левое соединение по условию наподобие "Таб.Артикул = Номенклатура.Артикул ИЛИ НЕ &ИскатьПоАртикулу"). Цель - избавиться от циклов вообще, при этом не плодить текстов запроса и сборок запроса по кускам. В запрос загружается вся табличная часть, обрабатывается и целиком выгружается обратно. Всё работает замечательно, но если существует более одной номенклатуры, например, с одинаковым артикулом, то на выходе получаем 2 строки по одному артикулу. Если бы поиск был жёстко по артикулу, то можно было бы организовать вложенный запрос к справочнику номенклатура, а в нём группировку по артикулу и Максимум по Номенклатура.Ссылка, там же можно было бы посчитать повторяющиеся элементы. Но беда в том, что искать предстоит как по артикулу, так и по наименованию. Группировки по условию, насколько я понимаю, не существует. Может быть есть какое-то лекарство? Уж больно не хочется возвращаться к циклам |
|||
1
mikecool
20.02.15
✎
15:01
|
сделать предварительно выбор только по одному значению в вт
связать эту вт справа к основному запросу и это - в условиях лучше писать "НЕ &ИскатьПоАртикулу ИЛИ Таб.Артикул = Номенклатура.Артикул ") |
|||
2
FIXXXL
20.02.15
✎
15:05
|
(0) результат запроса - задвоенная строка ТЧ? сгруппировать во все поля
или есть случаи атрикул 001, наименование 002 артикул 002, наименование 003 и тогда две строки с разным товаром лезут? |
|||
3
commdt
20.02.15
✎
15:18
|
Одинаковые лезут, например, когда ТЧ:
Арт1 - Ном? ... Стоит поиск по артикулу. А в базе у нас есть Ном1 с Арт1 Ном2 с Арт1 ... На выходе получаем ТЧ Арт1 - Ном1 Арт1 - Ном2 ... (1) Не совсем понял, как сделать выбор по одному значению в ВТ? В смысле по одному значению для каждой строки справочника? Это смысла не имеет, в ВТ и так все поля уникальны. Вообще фильтровать по одному элементу? Так мне не один нужен, а вся таблица заполненная. По тем же причинам условия поиска задаются в связях, а не в отборе |
|||
4
mikecool
20.02.15
✎
15:20
|
(3) не понял тогда, что нужно
есть один артикул и две номенклатуры, надо выбрать одну номенклатуру? |
|||
5
commdt
20.02.15
✎
15:24
|
Есть несколько тысяч артикулов и наименований, и есть весь справочник номенклатуры - нужно сопоставить :) И чтобы выполнялось не десять лет
|
|||
6
Адский плющ
20.02.15
✎
15:26
|
(5) На манер поиска курсов валют на каждую дату, сначала выбираешь для каждого артикула единственную номенклатуру (группировка + максимум). И юзаешь эту таблицу.
|
|||
7
Адский плющ
20.02.15
✎
15:27
|
+(6) А блин, не дочитал сабж )
|
|||
8
commdt
20.02.15
✎
15:28
|
(2)(6) Сгруппировать было бы круто, но по какому полю? Поиск может выполняться как по артикулу, так и по наименованию, плюс вместе с номенклатурой подгружается цена из регистра, то есть на выходе вообще нельзя юзать группиорвку. Во вложенном запросе к справочнике номенклатуры было бы можно, но опять же, по какому полю?
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |