|
Запрос в два регистра
| ☑ |
0
DenisSol
21.02.12
✎
11:09
|
Добрый день.
Подскажите пожалуйста как правильно сделать запрос по следующим условиям.
В регистр “Цены номенклатуры”, по заданному товару (Справочник Номенклатуры) получить цену и в регистр сведений “ЗначенияСвойствОбъектов”, по заданному контрагенту (Справочник Контрагенты).
Есть два регистра между собой они не связаны и имеют условия отбора. Если в одном регистре нет записей там самым результат будет “пуст”, то в другом регистре может быть заполнено.
Можно ли одним запросом получить данные двух не связанных регистров с условием отбора ? если можно, то как ?. Самому получилось сделать, но есть сомнение что это не совсем корректно. Заранее спасибо.
|
|
1
salvator
21.02.12
✎
11:12
|
(0) Запрос покажи
|
|
2
DenisSol
21.02.12
✎
11:17
|
"ВЫБРАТЬ
| ВложенныйЗапрос.Значение,
| ЦенаТовара.Цена,
| ВложенныйЗапрос.Объект
|ИЗ
| (ВЫБРАТЬ
| ЦеныНоменклатурыСрезПоследних.Цена КАК Цена,
| ЦеныНоменклатурыСрезПоследних.Номенклатура КАК Номенклатура
| ИЗ
| РегистрСведений.ЦеныНоменклатуры.СрезПоследних(&НаДату, Номенклатура = &Номенклатура) КАК ЦеныНоменклатурыСрезПоследних) КАК ЦенаТовара
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ (ВЫБРАТЬ
| ЗначенияСвойствОбъектов.Значение КАК Значение,
| ЗначенияСвойствОбъектов.Объект КАК Объект
| ИЗ
| РегистрСведений.ЗначенияСвойствОбъектов КАК ЗначенияСвойствОбъектов
| ГДЕ
| ЗначенияСвойствОбъектов.Объект = &ОбъектОтборо
| И ЗначенияСвойствОбъектов.Свойство = &СвойствоОтбора) КАК ВложенныйЗапрос
| ПО ЦенаТовара.Номенклатура = ВложенныйЗапрос.Объект"
|
|
3
КМ155
21.02.12
✎
11:17
|
(0) Объединить всё
|
|
4
salvator
21.02.12
✎
11:20
|
ЕСТЬ NULL попробуй использовать
|
|
5
DenisSol
21.02.12
✎
11:28
|
(3) ПОЛНОЕ СОЕДИНЕНИЕ ?
|
|
6
КМ155
21.02.12
✎
11:30
|
(5) Объединить всё
|
|
7
DenisSol
21.02.12
✎
11:30
|
(4) Можно поподробнее, где использовать ?
|
|
8
Жан Пердежон
21.02.12
✎
11:31
|
у тебя каша какая-то в (0)
нарисуй хотя б 2 исходные таблицы и таблицу-результат
|
|
9
DrShad
21.02.12
✎
11:32
|
(7) в запросе
|
|
10
DenisSol
21.02.12
✎
12:15
|
(6)Если я правильно понял. При использовании ОБЪЕДИНИТЬ ВСЕ второе значение всегда NULL
ВЫБРАТЬ
| ЦеныНоменклатурыСрезПоследних.Цена,
| NULL КАК ЗначениеСвойства
|ИЗ
| РегистрСведений.ЦеныНоменклатуры.СрезПоследних(&НаДату, Номенклатура = &Номенклатура) КАК ЦеныНоменклатурыСрезПоследних
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| NULL,
| ЗначенияСвойствОбъектов.Значение
|ИЗ
| РегистрСведений.ЗначенияСвойствОбъектов КАК ЗначенияСвойствОбъектов
|ГДЕ
| ЗначенияСвойствОбъектов.Объект = &ОбъектОтборо
| И ЗначенияСвойствОбъектов.Свойство = &СвойствоОтбора
|
|
Требовать и эффективности, и гибкости от одной и той же программы — все равно, что искать очаровательную и скромную жену... по-видимому, нам следует остановиться на чем-то одном из двух. Фредерик Брукс-младший