|
sum() + sum() = 0 | ☑ | ||
---|---|---|---|---|
0
Eeakie
26.11.14
✎
13:29
|
Добрый день.
Прямым запросом получаю текущие остатки по двум регистрам. Типы ресурсов: "Количество" - 19.3, "ОстатокТовара" - 10.3. |select | Заявка.iddoc as [Заявка $Документ.Заявка], | $ПЛ.Товар as [Товар $Справочник.Товары], | О.КоличествоОстаток as ОстатокО, | ОТО.ОстатокТовараОстаток as ОстатокОТО, | О.КоличествоОстаток + ОТО.ОстатокТовараОстаток as Всего |from | $Документ.Заявка as Заявка with (nolock) |left join | $ДокументСтроки.Заявка as СтрокиЗаявка with (nolock) on СтрокиЗаявка.iddoc = Заявка.iddoc |left join | $Справочник.Прайс_лист as ПЛ with (nolock) on ПЛ.id = $СтрокиЗаявка.Товар |left join | $РегистрОстатки.Ожидания(,, Фирма = :Центролаб) as О on О.Товар = $ПЛ.Товар and О.Заявка = $ВидДокумента36.Заявка + Заявка.iddoc |left join | $РегистрОстатки.ОстаткиТоваровОбщ(,, Фирма = :Центролаб) as ОТО on ОТО.Товар = $ПЛ.Товар and ОТО.Заявка = Заявка.iddoc |where | $Заявка.КрупнаяПартия = 1"; Предположим ОстатокО = 1, а ОстатокОТО = 0. Всего (ОстатокО + ОстатокОТО) должно же быть 1? А у меня 0. Что это может быть такое? |
|||
1
GenAcid
26.11.14
✎
13:33
|
1 + 0 = 1, но 1 + null = null
|
|||
2
КонецЦикла
26.11.14
✎
13:40
|
Может так
ISNULL(О.КоличествоОстаток,0) + ISNULL(ОТО.ОстатокТовараОстаток,0) |
|||
3
Eeakie
26.11.14
✎
13:45
|
Заработало. Но тогда вопрос в том почему даёт NULL, а не 0?
|
|||
4
Михаил Козлов
26.11.14
✎
13:47
|
(3) Потому что в остатках нет.
|
|||
5
Ёпрст
26.11.14
✎
13:48
|
(3) лефт джоин потому что
|
|||
6
Eeakie
26.11.14
✎
13:54
|
(5)Как это связано?..
|
|||
7
МойКодУныл
26.11.14
✎
13:56
|
(6) Левым соединением связано, это же очевидно
|
|||
8
andreymongol82
26.11.14
✎
13:57
|
(6) Непосредственно ). Что будет в результирующей таблице, если в одной есть, строки, а в другой нет
|
|||
9
КонецЦикла
26.11.14
✎
13:57
|
(6) Если бы запись была с нулевым остатком - был бы 0
А так пустота... |
|||
10
Ёпрст
26.11.14
✎
14:01
|
(6)
в табличке заявка у тебя Документ Товар док1 Валенки док1 Сапоги док1 Варенье при левом соединение с табличкой O: Документ Товар Остаток док1 Валенки 10 будет Документ Товар Остаток док1 Валенки 10 док1 Сапоги null док1 Варенье null так понятнее ? |
|||
11
Eeakie
26.11.14
✎
14:07
|
Разобрался. Всем спасибо.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |