|
Двойное обращение к таблице из запроса
|
|||
---|---|---|---|
#18+
Есть такой запрос: 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 или аналогично по дебету - то запрос работает нормально. В чем может быть проблема? ... |
|||
:
Нравится:
Не нравится:
|
|||
22.10.2008, 15:46 |
|
Двойное обращение к таблице из запроса
|
|||
---|---|---|---|
#18+
Вот в этом NVL(sum (xs1.sumi), 0) Надо NVL(sum (xs1.sumi), 000000000.000000) Количество нулей определяется размерностью суммы. ... |
|||
:
Нравится:
Не нравится:
|
|||
22.10.2008, 15:49 |
|
Двойное обращение к таблице из запроса
|
|||
---|---|---|---|
#18+
Надо ЯВНО указать размерность полей, которые определяются через NVL() Код: plaintext 1. 2. 3. 4. 5. 6.
Если версия младше VFP9, то функции CAST там не было. Придется писать нужное количество нулей Код: plaintext 1. 2. 3. 4. 5. 6.
... |
|||
:
Нравится:
Не нравится:
|
|||
22.10.2008, 15:52 |
|
|
start [/forum/topic.php?fid=41&msg=35609637&tid=1587160]: |
0ms |
get settings: |
9ms |
get forum list: |
14ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
68ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
52ms |
get tp. blocked users: |
2ms |
others: | 324ms |
total: | 489ms |
0 / 0 |