powered by simpleCommunicator - 2.0.59     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Oracle APEX [игнор отключен] [закрыт для гостей] / Глюк в Report
5 сообщений из 5, страница 1 из 1
Глюк в Report
    #39346667
vadipok
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Добрый день, коллеги!

Помогите плиз, не понимаю что происходит.
Рабочий вариант:
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
SELECT field_id,
       nskvz, 
       nskvd, 
       zak,
       fi_Z,
       Vi_Z,
       gid,
       fi_D,
       Vi_D,
       total
FROM V_TOTAL
WHERE field_id = 1 -- TO_NUMBER(:P4_FIELD)



А этот не пашет
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
SELECT field_id,
       nskvz, 
       nskvd, 
       zak,
       fi_Z,
       Vi_Z,
       gid,
       fi_D,
       Vi_D,
       total
FROM V_TOTAL
WHERE field_id = 22 -- TO_NUMBER(:P4_FIELD)



Оба запроса запускал в SQL developer отработали на ура.
База только одна, не мог перепутать.

V_TOTAL:
Код: sql
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.
-- Unable to render VIEW DDL for object UNPROD.V_TOTAL with DBMS_METADATA attempting internal generator.
CREATE VIEW V_TOTAL
AS SELECT t.field_id,
       t.nskvz, 
       t.nskvd, 
       t.zak,
       t.fi_Z,
       t.Vi_Z,
       t_rev.gid,
       t_rev.fi_D,
       t_rev.Vi_D,
       t.Vi_Z - t_rev.Vi_D as total
FROM (SELECT field_id,
             nskvz, 
             nskvd, 
             zak,
             0.2*FI1 + 0.2*FI2 + 0.2*FI3 + 0.2*FI4 + 0.2*FI5 AS fi_Z,
             zak*(0.2*FI1 + 0.2*FI2 + 0.2*FI3 + 0.2*FI4 + 0.2*FI5) AS Vi_Z
      FROM multi_factor) t,
     (SELECT field_id,
             nskvz, 
             nskvd, 
             zak AS gid,
             0.2*FI1 + 0.2*FI2 + 0.2*FI3 + 0.2*FI4 + 0.2*FI5 AS fi_D,
             zak*(0.2*FI1 + 0.2*FI2 + 0.2*FI3 + 0.2*FI4 + 0.2*FI5) AS Vi_D
      FROM multi_factor_rev) t_rev
WHERE t.nskvz = t_rev.nskvd
      AND t.nskvd = t_rev.nskvz
      AND t.field_id = t_rev.field_id




multi_factor:
Код: sql
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.
-- Unable to render TABLE DDL for object UNPROD.MULTI_FACTOR with DBMS_METADATA attempting internal generator.
ALTER TABLE MULTI_FACTOR
ADD CONSTRAINT FK_FIELD FOREIGN KEY
(
  FIELD_ID 
)
REFERENCES FIELD
(
  ID 
)
ENABLECREATE TABLE MULTI_FACTOR 
(
  FIELD_ID NUMBER NOT NULL 
, NSKVZ VARCHAR2(10 BYTE) 
, NSKVD VARCHAR2(10 BYTE) 
, ZAK NUMBER(20, 5) 
, FI1 NUMBER(20, 5) 
, FI2 NUMBER(20, 5) 
, FI3 NUMBER(20, 5) 
, FI4 NUMBER(20, 5) 
, FI5 NUMBER(20, 5) 
) 
LOGGING 
TABLESPACE USERS 
PCTFREE 10 
INITRANS 1 
STORAGE 
( 
  INITIAL 65536 
  NEXT 1048576 
  MINEXTENTS 1 
  MAXEXTENTS UNLIMITED 
  BUFFER_POOL DEFAULT 
) 
NOPARALLEL



multi_factor_rev аналогичен
...
Рейтинг: 0 / 0
Глюк в Report
    #39346668
vadipok
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Простите не правильно описал, первый возвращает результат, а второй нет.
...
Рейтинг: 0 / 0
Глюк в Report
    #39346681
vadipok
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: sql
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.
/*SELECT field_id,
       nskvz, 
       nskvd, 
       zak,
       fi_Z,
       Vi_Z,
       gid,
       fi_D,
       Vi_D,
       total
FROM V_TOTAL
WHERE field_id = 1*/ --:P4_FIELD

SELECT t.field_id,
       t.nskvz, 
       t.nskvd, 
       t.zak,
       t.fi_Z,
       t.Vi_Z,
       t_rev.gid,
       t_rev.fi_D,
       t_rev.Vi_D,
       t.Vi_Z - t_rev.Vi_D as total
FROM (SELECT field_id,
             nskvz, 
             nskvd, 
             zak,
             0.2*FI1 + 0.2*FI2 + 0.2*FI3 + 0.2*FI4 + 0.2*FI5 AS fi_Z,
             zak*(0.2*FI1 + 0.2*FI2 + 0.2*FI3 + 0.2*FI4 + 0.2*FI5) AS Vi_Z
      FROM multi_factor) t,
     (SELECT field_id,
             nskvz, 
             nskvd, 
             zak AS gid,
             0.2*FI1 + 0.2*FI2 + 0.2*FI3 + 0.2*FI4 + 0.2*FI5 AS fi_D,
             zak*(0.2*FI1 + 0.2*FI2 + 0.2*FI3 + 0.2*FI4 + 0.2*FI5) AS Vi_D
      FROM multi_factor_rev) t_rev
WHERE t.nskvz = t_rev.nskvd
      AND t.nskvd = t_rev.nskvz
      AND t.field_id = t_rev.field_id
      AND t.field_id = :P4_FIELD



Аналогичная ситуация, для 1 работает, а для 22 нет.
...
Рейтинг: 0 / 0
Глюк в Report
    #39346699
vadipok
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вот так заработала, но это явный глюк APEX

Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
drop table unprod_summ;

create table unprod_summ as select * from V_TOTAL;


SELECT field_id,
       nskvz, 
       nskvd, 
       zak,
       fi_Z,
       Vi_Z,
       gid,
       fi_D,
       Vi_D,
       total
FROM unprod_summ
WHERE field_id = 22 --:P4_FIELD

...
Рейтинг: 0 / 0
Глюк в Report
    #39347296
blkangel
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Очень странно. А если без условий выводить, будет значение field_id = 22?
...
Рейтинг: 0 / 0
5 сообщений из 5, страница 1 из 1
Форумы / Oracle APEX [игнор отключен] [закрыт для гостей] / Глюк в Report
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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