|
Не работает полное соединение в элементарном запросе | ☑ | ||
---|---|---|---|---|
0
evorle145
05.01.13
✎
14:11
|
Не понимаю, почему не выходят ячейки со значением null, то есть результат запроса получаю как внутреннее соединение
Запрос1 = Новый Запрос; Запрос1.Текст = "ВЫБРАТЬ | РеализацияТоваровУслугТовары.Номенклатура КАК Номенклатура1, | ПоступлениеТоваровУслугТовары.Номенклатура |ИЗ | Документ.РеализацияТоваровУслуг.Товары КАК РеализацияТоваровУслугТовары | ПОЛНОЕ СОЕДИНЕНИЕ Документ.ПоступлениеТоваровУслуг.Товары КАК ПоступлениеТоваровУслугТовары | ПО РеализацияТоваровУслугТовары.Номенклатура = ПоступлениеТоваровУслугТовары.Номенклатура |ГДЕ | ПоступлениеТоваровУслугТовары.Ссылка.Дата МЕЖДУ &ДатаНачала И &ДатаКонец | И ПоступлениеТоваровУслугТовары.Ссылка.Проведен = &Проведен | И РеализацияТоваровУслугТовары.Ссылка.Дата МЕЖДУ &ДатаНачала И &ДатаКонец"; Запрос1.УстановитьПараметр("ДатаКонец", КонецДня(ЭлементыФормы.ДатаКонец.Значение)); Запрос1.УстановитьПараметр("ДатаНачала", НачалоДня(ЭлементыФормы.ДатаНачала.Значение)); Запрос1.УстановитьПараметр("Проведен", Истина); Результат = Запрос1.Выполнить().Выгрузить(); Помогите понять, где туплю? |
|||
1
evorle145
05.01.13
✎
14:16
|
В документах реализации есть номенклатура, которой не было в поступлении, значит точно должны быть строки типа
Номен1 NULL Номен2 NULL |
|||
2
shuhard
05.01.13
✎
14:16
|
(0) [где туплю]
в блоке Where |
|||
3
evorle145
05.01.13
✎
14:17
|
(2) но я там только делаю выборку за нужный период и беру только проведенные документы и все..
|
|||
4
Ns33
05.01.13
✎
14:20
|
Сначала выполняется соединение, а потом применяются условия. В данном случае условия накладываются на поля обеих таблиц, т.е. Истина будет только там, где есть не пустые поля из обеих таблиц.
Делать подзапросами или через временные таблицы. |
|||
5
evorle145
05.01.13
✎
14:23
|
(4), эх, точно. Спасибо! Второй раз уже на эти грабли натыкаюсь, обидно даже...
|
|||
6
shuhard
05.01.13
✎
14:24
|
(0) правильный запрос:
ВЫБРАТЬ ВложенныйЗапрос.Номенклатура, СУММА(ВложенныйЗапрос.Продано) КАК Продано, СУММА(ВложенныйЗапрос.Куплено) КАК Куплено ИЗ (ВЫБРАТЬ РеализацияТоваровУслугТовары.Номенклатура КАК Номенклатура, РеализацияТоваровУслугТовары.Количество КАК Продано, 0 КАК Куплено ИЗ Документ.РеализацияТоваровУслуг.Товары КАК РеализацияТоваровУслугТовары ОБЪЕДИНИТЬ ВСЕ ВЫБРАТЬ ПоступлениеТоваровУслугТовары.Номенклатура, 0, ПоступлениеТоваровУслугТовары.Количество ИЗ Документ.ПоступлениеТоваровУслуг.Товары КАК ПоступлениеТоваровУслугТовары) КАК ВложенныйЗапрос СГРУППИРОВАТЬ ПО ВложенныйЗапрос.Номенклатура |
|||
7
evorle145
05.01.13
✎
14:25
|
(6), я понял-понял. Спасибо больше! видимо я просто после праздников не успел отойти =)
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |