Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Что за Ху....... / 3 сообщений из 3, страница 1 из 1
11.05.2004, 05:29
    #32512468
Avral
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Что за Ху.......
Вот пример селекта

SELECT g.nnn,;
g.saldo_in,;
g.p296,;
g.p400,;
g.p499,;
g.p800,;
g.kr_6218 ,;
p2.nnn as p2nnn,;
NVL(p2.kod,"") as p2kod,;
NVL(p2.naim," ") as p2naim,;
NVL(p2.mes," ") as p2mes,;
NVL(p2.god," ") as p2god,;
NVL(sum(p2.summe),VAL("")) as p2sum;
FROM svod_glav g LEFT JOIN p296 p2;
ON g.nnn=p2.nnn;
WHERE svod_glav.kod_predp=main_kod and svod_glav.naim=m_tabnameb; into table dbfs\table1.dbf
почему то на выходе получаю таблицу где суммы увеличенны в два раза,
т.е. только в подчиненной таблице p296
т.е если суммы там стоят 5+3=8, мне селект выдает как p2.summe=16

как БЫТЬ ТО????
...
Рейтинг: 0 / 0
11.05.2004, 08:10
    #32512521
LogMiner
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Что за Ху.......
Точно не скажу - из SELECT'а посмотрел только FROM и условие объединения.

Но причина может быть в следующем:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
SQL> CREATE TABLE t1 (nnn NUMBER( 4 , 0 ));

Table created

SQL> CREATE TABLE t2 (nnn NUMBER( 4 , 0 ));

Table created

SQL> INSERT INTO t1(nnn) VALUES( 1 );

 1  row inserted

SQL> INSERT INTO t1(nnn) VALUES( 2 );

 1  row inserted

SQL> INSERT INTO t1(nnn) VALUES( 3 );

 1  row inserted

SQL> INSERT INTO t2(nnn) VALUES( 1 );

 1  row inserted

SQL> INSERT INTO t2(nnn) VALUES( 2 );

 1  row inserted

SQL> INSERT INTO t2(nnn) VALUES( 4 );

 1  row inserted

SQL> 
SQL> SELECT t1.nnn, t2.nnn FROM t1 LEFT JOIN t2 ON (t1.nnn = t2.nnn);

  NNN   NNN
 ----- -----
 
     1       1 
     2       2 
     3  

SQL> 
...
Рейтинг: 0 / 0
11.05.2004, 09:37
    #32512590
_Michael_
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Что за Ху.......
не понятно что должно быть на выходе т.к. в запросе не вижу секции GROUP BY или в только одна запись попадает под это условие?

скользо записей выводит запрос:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
SELECT g.nnn,;
g.saldo_in,;
g.p296,;
g.p400,;
g.p499,;
g.p800,;
g.kr_6218; 
FROM svod_glav g;
WHERE svod_glav.kod_predp=main_kod and svod_glav.naim=m_tabnameb; 
into table dbfs\table1.dbf

если больше 1, то сумма по дочерней таблице увеличиться во стока же раз (т.е. сумма запроса=сумма по p296.summe*кол-во записей в таблице svod_glav попадающих под условие... )
...
Рейтинг: 0 / 0
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Что за Ху....... / 3 сообщений из 3, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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