|
Условие в Запрос на отбор по нескольким парам параметров... | ☑ | ||
---|---|---|---|---|
0
warkan
28.11.19
✎
15:02
|
Всем добра!
Подскажите, пожалуйста, возможно одним запросом выбрать документы, в ТЧ которых, содержатся пары параметров (к примеру, "Номенклатура"+"СерияНоменклатуры")? Таких "пар" N - в ТЗ с колонками "Номенклатура" и "СерияНоменклатуры", к примеру. Я додумался только до простого: N запросов на каждую пару. Но, может быть, это возможно организовать изящнее?.. Большое спасибо! |
|||
1
Beduin
28.11.19
✎
15:03
|
(0) Так через И условия делаешь. Или не это?
|
|||
2
warkan
28.11.19
✎
15:05
|
(1) ну да, возможно и так: в цикле формируешь параметры к Запросу, потом синтезируешь условия отбора в тексте Запроса.
Что-то вида: (док.ТЧ.Номенклатура = Номенклатура1 и док.ТЧ.Партия = Партия1) ИЛИ (док.ТЧ.Номенклатура = Номенклатура2 и док.ТЧ.Партия = Партия2) ИЛИ... |
|||
3
warkan
28.11.19
✎
15:06
|
Подумал, может есть что-то вроде... В (списокПараметров),
только для ТЗ на 2 колонки... |
|||
4
SergTheGreat
28.11.19
✎
15:13
|
(3) Конечно есть, хоть на 2, хоть на 200. Например:
(Номенклатура, СерияНоменклатуры) В (ВЫБРАТЬ ВремТаб.Номенклатура, ВремТаб.СерияНоменклатуры ИЗ ВремТаб) |
|||
5
warkan
28.11.19
✎
15:18
|
(4) Величайший Серж, дорогой!!!
Можно ссылку на более развернутую информацию? Не хватает у меня знаний, чтобы понять смысл предоставленного тобою кода...( Подскажи, где или про что почитать? Что это за конструкция? Вложенный запрос? Помоги просветиться. |
|||
6
Beduin
28.11.19
✎
15:36
|
ВЫБРАТЬ ПЕРВЫЕ 5
ДоговорыКонтрагентов.Код КАК Код, ДоговорыКонтрагентов.Наименование КАК Наименование ПОМЕСТИТЬ ВременнаяТаблица ИЗ Справочник.ДоговорыКонтрагентов КАК ДоговорыКонтрагентов ; //////////////////////////////////////////////////////////////////////////////// ВЫБРАТЬ ДоговорыКонтрагентов.Ссылка КАК Ссылка, ДоговорыКонтрагентов.Код КАК Код, ДоговорыКонтрагентов.Наименование КАК Наименование ИЗ Справочник.ДоговорыКонтрагентов КАК ДоговорыКонтрагентов ГДЕ (ДоговорыКонтрагентов.Код, ДоговорыКонтрагентов.Наименование) В (ВЫБРАТЬ ВТ.Код, ВТ.Наименование ИЗ ВременнаяТаблица КАК ВТ) |
|||
7
Kigo_Kigo
28.11.19
✎
15:38
|
(5) ВремТаб это ТЗ с колонками Номенклатура,СерияНоменклатуры , как ее сформировать дело вкуса
|
|||
8
warkan
28.11.19
✎
15:40
|
"Вабэни!" (С)
(6)(7) - Спасибо ОГРОМНОЕ!!! |
|||
9
warkan
29.11.19
✎
08:26
|
Всё работает и всё хорошо.
Но, не будет ли наглостью, просить пояснить суть этой конструкции? Этот отбор по группе полей (то, что в круглых скобках) применим только к временным таблицам (с содержимым, полученным любым способом?)? |
|||
10
warkan
29.11.19
✎
08:28
|
или:
ГДЕ (набор из N полей) В (временная таблица с количеством и Наименованием колонок, соответствующих отбираемому набору из N полей)? |
|||
11
catena
29.11.19
✎
09:37
|
Можно даже так:
Выбрать ссылка из справочник.Номенклатура где (код, наименование) в (Выбрать "000001","Первый товар") |
|||
12
НЕА123
29.11.19
✎
09:54
|
(11)
>где (код, наименование) в (Выбрать "000001","Первый товар") где код = "000001" И наименование = "Первый товар" интересно, а какой из вариантов быстрее? |
|||
13
EVGA
29.11.19
✎
10:20
|
(5) подготовься и сдай спеца по платформе и такие просты вещи перестанут быть тайной.
|
|||
14
D_E_S_131
29.11.19
✎
10:38
|
Если уж мы делаем временную таблицу, то возможно более нагляднее будет сделать внутреннее соединение этой ВТ с ТЧ по полям "Номенклатура" и "Серия номенклатуры".
|
|||
15
SergTheGreat
02.12.19
✎
09:38
|
(14) В данном примере да - результат и условия "ГДЕ", и соединения будет одинаков. Но в общем случае во ВТ могут быть не уникальные значения.
Также конструкция из (4) может быть использована в условии виртуальной таблицы. |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |