powered by simpleCommunicator - 2.0.56     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Двойное обращение к таблице из запроса
3 сообщений из 3, страница 1 из 1
Двойное обращение к таблице из запроса
    #35609613
Big_Fly
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Есть такой запрос:

select vdk.accs53, vdk.corg, vdk.sumo, NVL(sum (xs1.sumi), 0) as debet, NVL( sum (xs2.sumi), 0) as kredit ;
from vdkbase vdk ;
left join dkspec dks ;
on dks.rp = vdk.rn ;
left join xospec xs1 ;
on xs1.incdt = dks.rn ;
left join xospec xs2 ;
on xs2.inckt = dks.rn ;
where xs1.datxo <= __Dateto ;
and xs2.datxo <= __Dateto ;
group by vdk.accs53, vdk.corg, vdk.sumo


где vdkbase - вьюшка по отобраным записям в ведомости расчетов с дебиторами кредиторами, в dkspec - спецификации этой ведомости, xospec - проводки. Связи верные.
Проблема в том, что выдает в некоторых полях *.
Если исключить из запроса sum (xs2.sumi) as kredit и left join xospec xs2 on xs2.inckt = dks.rn или аналогично по дебету - то запрос работает нормально.
В чем может быть проблема?
...
Рейтинг: 0 / 0
Двойное обращение к таблице из запроса
    #35609625
miv32
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Вот в этом
NVL(sum (xs1.sumi), 0)
Надо NVL(sum (xs1.sumi), 000000000.000000)
Количество нулей определяется размерностью суммы.
...
Рейтинг: 0 / 0
Двойное обращение к таблице из запроса
    #35609637
Фотография ВладимирМ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Надо ЯВНО указать размерность полей, которые определяются через NVL()

Код: plaintext
1.
2.
3.
4.
5.
6.
SELECT ...

CAST(NVL(sum (xs1.sumi),  0 ) as N( 15 , 2 )) as debet, ;
CAST(NVL(sum (xs2.sumi),  0 ) as N( 15 , 2 )) as kredit ;

FROM ...

Если версия младше VFP9, то функции CAST там не было. Придется писать нужное количество нулей

Код: plaintext
1.
2.
3.
4.
5.
6.
SELECT ...

NVL(sum(xs1.sumi),  0000000 . 00 ) as debet, ;
NVL(sum(xs2.sumi),  0000000 . 00 )  as kredit ;

FROM ...
...
Рейтинг: 0 / 0
3 сообщений из 3, страница 1 из 1
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Двойное обращение к таблице из запроса
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]