|
Помогите плиз с запросом. |
☑ |
0
Alexey_55
04.02.13
✎
14:21
|
вот сам запрос
ВЫБРАТЬ
ИзменениеЗаказаПокупателяТовары.Номенклатура КАК Номенклатура,
ИзменениеЗаказаПокупателяТовары.ХарактеристикаНоменклатуры КАК ХарактеристикаНоменклатуры,
ИзменениеЗаказаПокупателяТовары.Количество КАК КоличествоВИзменении,
ЕстьNull(СчетНаОплатуПокупателюТовары.Количество, 0) КАК КоличествоВСчете
ИЗ
Документ.ИзменениеЗаказаПокупателя.Товары КАК ИзменениеЗаказаПокупателяТовары
ЛЕВОЕ СОЕДИНЕНИЕ Документ.СчетНаОплатуПокупателю.Товары КАК СчетНаОплатуПокупателюТовары
ПО ИзменениеЗаказаПокупателяТовары.Номенклатура = СчетНаОплатуПокупателюТовары.Номенклатура
И ИзменениеЗаказаПокупателяТовары.ХарактеристикаНоменклатуры = СчетНаОплатуПокупателюТовары.ХарактеристикаНоменклатуры
ГДЕ
ИзменениеЗаказаПокупателяТовары.Ссылка = &Ссылка
И СчетНаОплатуПокупателюТовары.ЗаказПокупателя = &ЗаказПокупателя
в результате выводятся только записи из Счета, а мне нужно чтобы выводились все из ИзмененияЗаказа и к ним добавлялось число в Счете
|
|
1
Sammo
04.02.13
✎
14:26
|
Если соединение Левое и эта таблица участвует в Где, то реально будет не левое, а внутреннее.
Резюме
СчетНаОплатуПокупателюТовары.ЗаказПокупателя = &ЗаказПокупателя
перенести в параметры соедиенения (ПО)
|
|
2
Alexey_55
04.02.13
✎
14:29
|
Спасибо! не знал..
в параметры соединения это как?
|
|
3
GANR
04.02.13
✎
14:30
|
(0) ГДЕ
СчетНаОплатуПокупателюТовары.ЗаказПокупателя = &ЗаказПокупателя
рубит все, что не равно СчетНаОплатуПокупателюТовары.ЗаказПокупателя, в том числе NULL (записи, отсутствующие в "счета" см. (1))
(2) Закладка "Связи"
|
|
4
Alexey_55
04.02.13
✎
14:32
|
(3)Спасибо!
|
|
5
sapphire
04.02.13
✎
14:32
|
ВЫБРАТЬ
ИзменениеЗаказаПокупателяТовары.Номенклатура КАК Номенклатура,
ИзменениеЗаказаПокупателяТовары.ХарактеристикаНоменклатуры КАК ХарактеристикаНоменклатуры,
ИзменениеЗаказаПокупателяТовары.Количество КАК КоличествоВИзменении,
ЕстьNull(СчетНаОплатуПокупателюТовары.Количество, 0) КАК КоличествоВСчете
ИЗ
Документ.ИзменениеЗаказаПокупателя.Товары КАК ИзменениеЗаказаПокупателяТовары
ЛЕВОЕ СОЕДИНЕНИЕ Документ.СчетНаОплатуПокупателю.Товары КАК СчетНаОплатуПокупателюТовары
ПО ИзменениеЗаказаПокупателяТовары.Номенклатура = СчетНаОплатуПокупателюТовары.Номенклатура
И ИзменениеЗаказаПокупателяТовары.ХарактеристикаНоменклатуры = СчетНаОплатуПокупателюТовары.ХарактеристикаНоменклатуры
И СчетНаОплатуПокупателюТовары.ЗаказПокупателя = &ЗаказПокупателя
ГДЕ
ИзменениеЗаказаПокупателяТовары.Ссылка = &Ссылка
|
|
6
GANR
04.02.13
✎
14:33
|
(1) Кстати, не пойму: откуда идет такая мода указывать левое соединение, а потом, рубить его условием, превращая во внутреннее ????
|
|
7
sapphire
04.02.13
✎
14:39
|
(6) От конструктора запросов
|
|
8
Sammo
04.02.13
✎
14:40
|
(6) Ситуация в явном виде не описана в документации. Очень распространенная ошибка. Указать какое-нибудь странное условие в Где - интуитивно понятно, хотя и методологичекси неверно
|
|
9
GANR
04.02.13
✎
15:00
|
(7) Конструктор по умолчанию внутреннее ведь предлагает. Никогда не наступал на эти грабли как-то.
|
|
Требовать и эффективности, и гибкости от одной и той же программы — все равно, что искать очаровательную и скромную жену... по-видимому, нам следует остановиться на чем-то одном из двух. Фредерик Брукс-младший