|
Левое соединение в запросе | ☑ | ||
---|---|---|---|---|
0
tanya_w
13.09.12
✎
11:30
|
Есть запрос, соединяющий данные документа и цену определенного типа из РегистраЦен.
Не понимаю, почему он пропускает ситуацию, когда в регистре для указанных параметров нет цены. Считала, что если идет левое соединение, то должна выводится строка с ценой Null. Подскажите, что не так? Текст ПостроителяЗапроса ВЫБРАТЬ ОтчетОРозничныхПродажахТовары.Ссылка.Дата КАК ДатаДок, ОтчетОРозничныхПродажахТовары.Ссылка КАК Ссылка, ОтчетОРозничныхПродажахТовары.Цена КАК ЦенаВРознице, ОтчетОРозничныхПродажахТовары.Количество КАК Количество, ОтчетОРозничныхПродажахТовары.Сумма КАК Сумма, ОтчетОРозничныхПродажахТовары.ПроцентСкидкиНаценки КАК ПроцентСкидкиНаценки, ОтчетОРозничныхПродажахТовары.Номенклатура КАК Номенклатура, ОтчетОРозничныхПродажахТовары.Ссылка.Организация КАК Организация, ОтчетОРозничныхПродажахТовары.Склад.Подразделение КАК Подразделение, ОтчетОРозничныхПродажахТовары.Цена * ОтчетОРозничныхПродажахТовары.Количество КАК Стоимость, ЦеныНоменклатуры.Цена - ЦеныНоменклатуры.Цена / 100 * 12 КАК ИсхСтоимость ИЗ Документ.ОтчетОРозничныхПродажах.Товары КАК ОтчетОРозничныхПродажахТовары ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ЦеныНоменклатуры.СрезПервых(&ДатаС, ) КАК ЦеныНоменклатуры ПО ОтчетОРозничныхПродажахТовары.Номенклатура = ЦеныНоменклатуры.Номенклатура И ОтчетОРозничныхПродажахТовары.ХарактеристикаНоменклатуры = ЦеныНоменклатуры.ХарактеристикаНоменклатуры ГДЕ ЦеныНоменклатуры.ТипЦен = &Промежуточный ОБЪЕДИНИТЬ ВСЕ ВЫБРАТЬ ВозвратТоваровОтПокупателяТовары.Ссылка.Дата, ВозвратТоваровОтПокупателяТовары.Ссылка, ВозвратТоваровОтПокупателяТовары.Цена * -1, ВозвратТоваровОтПокупателяТовары.Количество * -1, ВозвратТоваровОтПокупателяТовары.Сумма * -1, ВозвратТоваровОтПокупателяТовары.ПроцентСкидкиНаценки, ВозвратТоваровОтПокупателяТовары.Номенклатура, ВозвратТоваровОтПокупателяТовары.Ссылка.Организация, ВозвратТоваровОтПокупателяТовары.Склад.Подразделение, ВозвратТоваровОтПокупателяТовары.Цена * -1 * ВозвратТоваровОтПокупателяТовары.Количество, (ЦеныНоменклатуры.Цена - ЦеныНоменклатуры.Цена / 100 * 12) * -1 ИЗ Документ.ВозвратТоваровОтПокупателя.Товары КАК ВозвратТоваровОтПокупателяТовары ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ЦеныНоменклатуры.СрезПервых(&ДатаС, ) КАК ЦеныНоменклатуры ПО ВозвратТоваровОтПокупателяТовары.Номенклатура = ЦеныНоменклатуры.Номенклатура И ВозвратТоваровОтПокупателяТовары.ХарактеристикаНоменклатуры = ЦеныНоменклатуры.ХарактеристикаНоменклатуры ГДЕ ЦеныНоменклатуры.ТипЦен = &Промежуточный УПОРЯДОЧИТЬ ПО Организация, Подразделение, Номенклатура, ДатаДок ИТОГИ СУММА(ЦенаВРознице), СУММА(Количество), СУММА(Сумма), СУММА(ПроцентСкидкиНаценки), СУММА(Стоимость), СУММА(ИсхСтоимость) ПО Номенклатура ИЕРАРХИЯ, Подразделение, Организация, Ссылка |
|||
1
Alex S D
13.09.12
✎
11:32
|
ИЗ
Документ.ОтчетОРозничныхПродажах.Товары КАК ОтчетОРозничныхПродажахТовары ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ЦеныНоменклатуры.СрезПервых(&ДатаС, ) КАК ЦеныНоменклатуры ПО ОтчетОРозничныхПродажахТовары.Номенклатура = ЦеныНоменклатуры.Номенклатура И ОтчетОРозничныхПродажахТовары.ХарактеристикаНоменклатуры = ЦеныНоменклатуры.ХарактеристикаНоменклатуры ГДЕ ЦеныНоменклатуры.ТипЦен = &Промежуточный сколько раз говорилось уже, условие в параметры таблицы! |
|||
2
Пеппи
13.09.12
✎
11:32
|
ЕстьNull(ОтчетОРозничныхПродажахТовары.Цена,0) КАК ЦенаВРознице
|
|||
3
Serginio1
13.09.12
✎
11:35
|
ГДЕ
ЦеныНоменклатуры.ТипЦен = &Промежуточный |
|||
4
Sammo
13.09.12
✎
11:37
|
Как уже намекнули - здесь не левое соединение, а внутреннее.
|
|||
5
tanya_w
13.09.12
✎
11:39
|
блин! точно.. условие не там. спасибо!
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |