|
запрос. как заставить выводить нулевые значения? | ☑ | ||
---|---|---|---|---|
0
WF72
17.10.11
✎
17:13
|
Коллеги, помогите плз.
Сделал следующий запрос: "ВЫБРАТЬ | Оплата.Субконто1 КАК Контрагент, | Оплата.СуммаОборотКт КАК Оборот62Кт, | Оплата.СуммаКонечныйОстатокКт КАК Остаток62Кт, | Аванс.СуммаОборотДт КАК Оборот76Дт, | Аванс.СуммаКонечныйОстатокДт КАК Остаток76Дт, | Оплата.СуммаКонечныйОстатокКт * 18 / 118 - Аванс.СуммаКонечныйОстатокДт КАК Разница |ИЗ | РегистрБухгалтерии.Хозрасчетный.ОстаткиИОбороты(&НачДата, &КонДата, Период, , Счет = ЗНАЧЕНИЕ(ПланСчетов.Хозрасчетный.РасчетыПоАвансамПолученным), , Организация = &Организация) КАК Оплата | ПОЛНОЕ СОЕДИНЕНИЕ РегистрБухгалтерии.Хозрасчетный.ОстаткиИОбороты(&НачДата, &КонДата, Период, , Счет = ЗНАЧЕНИЕ(ПланСчетов.Хозрасчетный.НДСпоАвансамИПредоплатам), , Организация = &Организация) КАК Аванс | ПО Оплата.Субконто1 = Аванс.Субконто1 |ГДЕ | ((ВЫРАЗИТЬ(Оплата.СуммаКонечныйОстатокКт * 18 / 118 - Аванс.СуммаКонечныйОстатокДт КАК ЧИСЛО(10, 2))) > 0.02 | ИЛИ (ВЫРАЗИТЬ(Оплата.СуммаКонечныйОстатокКт * 18 / 118 - Аванс.СуммаКонечныйОстатокДт КАК ЧИСЛО(10, 2))) < -0.02) |УПОРЯДОЧИТЬ ПО | Контрагент |АВТОУПОРЯДОЧИВАНИЕ"; Но в него не попадают данные по оплате (сч.62.02), если их нет. Что нужно поменять в запросе, чтобы вытаскивались ВСЕ данные для полного соединения, даже если там нет остатков? |
|||
1
mikecool
17.10.11
✎
17:14
|
слева привязать таблицу, в которой что то будет
|
|||
2
WF72
17.10.11
✎
17:21
|
То есть не полное соединение, а левое? Разве? Прошу пардону, запутался...
|
|||
3
WF72
17.10.11
✎
17:25
|
Нужно вытащить остатки и по авансам и по оплате. Но почему-то запрос ориентируется только на авансы :(
|
|||
4
WF72
17.10.11
✎
17:26
|
Черт, хотел сказать, ориентируется только на оплату. На 62.02.
|
|||
5
НЕА123
17.10.11
✎
17:27
|
ЕСТЬNULL(Оплата.СуммаКонечныйОстатокКт,0)
|
|||
6
Axel2009
17.10.11
✎
17:27
|
потому что ГДЕ фильтрует все NULL. там и так есть данные
|
|||
7
НЕА123
17.10.11
✎
17:28
|
с авансами аналогично
|
|||
8
WF72
17.10.11
✎
17:46
|
То есть вот так:
"ВЫБРАТЬ | Оплата.Субконто1 КАК Контрагент, | Оплата.СуммаОборотКт КАК Оборот62Кт, | ЕСТЬNULL(Оплата.СуммаКонечныйОстатокКт,0) КАК Остаток62Кт, | Аванс.СуммаОборотДт КАК Оборот76Дт, | ЕСТЬNULL(Аванс.СуммаКонечныйОстатокДт,0) КАК Остаток76Дт, | Оплата.СуммаКонечныйОстатокКт * 18 / 118 - Аванс.СуммаКонечныйОстатокДт КАК Разница |ИЗ | РегистрБухгалтерии.Хозрасчетный.ОстаткиИОбороты(&НачДата, &КонДата, Период, , Счет = ЗНАЧЕНИЕ(ПланСчетов.Хозрасчетный.РасчетыПоАвансамПолученным), , Организация = &Организация) КАК Оплата | ПОЛНОЕ СОЕДИНЕНИЕ РегистрБухгалтерии.Хозрасчетный.ОстаткиИОбороты(&НачДата, &КонДата, Период, , Счет = ЗНАЧЕНИЕ(ПланСчетов.Хозрасчетный.НДСпоАвансамИПредоплатам), , Организация = &Организация) КАК Аванс | ПО Оплата.Субконто1 = Аванс.Субконто1 |ГДЕ | ((ВЫРАЗИТЬ(Оплата.СуммаКонечныйОстатокКт * 18 / 118 - Аванс.СуммаКонечныйОстатокДт КАК ЧИСЛО(10, 2))) > 0.03 | ИЛИ (ВЫРАЗИТЬ(Оплата.СуммаКонечныйОстатокКт * 18 / 118 - Аванс.СуммаКонечныйОстатокДт КАК ЧИСЛО(10, 2))) < -0.03) |УПОРЯДОЧИТЬ ПО | Контрагент |АВТОУПОРЯДОЧИВАНИЕ"; странно, не срабатывает :( |
|||
9
НЕА123
17.10.11
✎
17:48
|
(8)
ЕстьNULL() надо везде. |
|||
10
Axel2009
17.10.11
✎
18:09
|
(8) самое главное в ГДЕ
|
|||
11
WF72
18.10.11
✎
11:14
|
Огромное спасибо за советы, уважаемые коллеги! Как оказалось, для результата достаточно добавить ЕСТЬNULL только для оплаты в ГДЕ; при добавлении его во все остальные параметры запроса ничего не меняется.
Но однако, появился второй подводный камень: хотя теперь стала выдаваться сумма, но не выдается контрагент, на его месте пустота. Пробовал добавлять ЕСТЬNULL во все параметры - ничего не меняется... подскажите плз, можно ли тут как-то исхитриться? |
|||
12
НЕА123
18.10.11
✎
11:15
|
ВЫБОР КОГДА
? |
|||
13
WF72
18.10.11
✎
12:10
|
Просто гигантское спасибо! Заработало!!! (ц) Матроскин
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |