|
Как внутри запроса выбрать номенклатуру из ТЧ документа и передать вирт.таблице? | ☑ | ||
---|---|---|---|---|
0
pavname
19.05.13
✎
12:20
|
Ребят, а как внутри запроса выбрать номенклатуру из ТЧ документа и передать виртуальной таблице в качестве параметра или условия.
Почему-то не получается. Прилагаю пример запроса: |ВЫБРАТЬ | ЗаказПоставщикуАвтозапчастиТовар.Номенклатура |ИЗ | Документ.ЗаказПоставщикуАвтозапчасти.Товар КАК ЗаказПоставщикуАвтозапчастиТовар | |СГРУППИРОВАТЬ ПО | ЗаказПоставщикуАвтозапчастиТовар.Номенклатура |; | |//////////////////////////////////////////////////////////////////////////////// |ВЫБРАТЬ | ТоварыНаСкладахОстатки.Номенклатура, | ТоварыНаСкладахОстатки.КоличествоОстаток |ИЗ | РегистрНакопления.ТоварыНаСкладах.Остатки КАК ТоварыНаСкладахОстатки"; СПАСИБО за Ваш любой ответ. |
|||
1
shuhard
19.05.13
✎
12:21
|
(0) попробуй внятно сформулировать, что должен сделать запрос
|
|||
2
pavname
19.05.13
✎
12:22
|
Запрос должен выдать остатки по номенклатуре которая присутствует в табличной части документа.
|
|||
3
Фокусник
19.05.13
✎
12:24
|
(0) левое соединение
|
|||
4
pavname
19.05.13
✎
12:27
|
(3) Точно. Спасибо за подсказку.
А все-же, если Поместить во временную таблицу данные первого запроса можно ли будет использовать ее в качестве параметра вирт. таблицы ? |
|||
5
HEKPOH
19.05.13
✎
12:28
|
можно
|
|||
6
Mitriy
19.05.13
✎
12:28
|
|ВЫБРАТЬ
| ЗаказПоставщикуАвтозапчастиТовар.Номенклатура |ПОМЕСТИТЬ ВТ_Номенклатура |ИЗ | Документ.ЗаказПоставщикуАвтозапчасти.Товар КАК ЗаказПоставщикуАвтозапчастиТовар | |СГРУППИРОВАТЬ ПО | ЗаказПоставщикуАвтозапчастиТовар.Номенклатура |; | |//////////////////////////////////////////////////////////////////////////////// |ВЫБРАТЬ | ТоварыНаСкладахОстатки.Номенклатура, | ТоварыНаСкладахОстатки.КоличествоОстаток |ИЗ | РегистрНакопления.ТоварыНаСкладах.Остатки( | , | Номенклатура В | (ВЫБРАТЬ РАЗЛИЧНЫЕ | ВТ_Номенклатура.Номенклатура | ИЗ | ВТ_Номенклатура КАК ВТ_Номенклатура)) КАК ТоварыНаСкладахОстатки"; |
|||
7
pavname
19.05.13
✎
12:35
|
Mitriy Спасибо за науку.
Вопрос исчерпан. |
|||
8
pavname
19.05.13
✎
12:49
|
Похоже еще вопрос не исчерпан...
Пробую способ - левое соединение. Дело в том что ТЧ документа должна быть предварительно свернута по номенклатуре. Не подскажете - значит способ левое соединение мне не подойдет ? Или есть способ ? |
|||
9
pavname
19.05.13
✎
12:51
|
Забыл добавить способ с передачей параметра получился, но кажется несколько громоздким.
|
|||
10
shuhard
19.05.13
✎
12:52
|
(8)[Дело в том что ТЧ документа должна быть предварительно свернута по номенклатуре. Не подскажете - значит способ левое соединение мне не подойдет ? Или есть способ ?]
кто на ком стоял ? |
|||
11
Mitriy
19.05.13
✎
12:52
|
(8) соединение - не оптимальный способ, потому что сначала получаются все значения, а потом только отрабатывает соединение. Чем тебе способ в (6) не нравится? Там можешь сначала во временной таблице отобрать-свернуть, что надо...
|
|||
12
pavname
19.05.13
✎
12:56
|
(11)Это понятно. Все работает без вопросов. Я просто хочу разобрать наиболее ОПТИМАЛЬНЫЙ и КРАСИВЫЙ способ, хотя понимаю что как правило это взаимоисключающие понятия.
|
|||
13
pavname
19.05.13
✎
13:00
|
Просто хотел понять можно ли при левом соединении предварительно в этом-же подзапросе свернуть по номенклатуре, например с помощью функции ВЫБРАТЬ РАЗЛИЧНЫЕ (или другой). Но похоже что это нельзя. ТАК ?
|
|||
14
Mitriy
19.05.13
✎
13:00
|
О вкусах не спорят, но если запрос не оптимален, он мне не покажется красивым...
|
|||
15
Mitriy
19.05.13
✎
13:02
|
(13) все можно сделать без временных таблиц, во вложенных запросах, но, опять же, это будет не оптимально, а в каких-то случаях даже валить базу...
|
|||
16
pavname
19.05.13
✎
13:05
|
Спасибо Mitriy. Вы Хороший человек. Вопрос закрыт.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |