Гость
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Помогите посчитать / 6 сообщений из 6, страница 1 из 1
16.09.2020, 14:45
    #39999356
Ziliboba_smoll
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите посчитать
Всем День добрый , помогите посчитать, не могу понят как сделать БД orcle11.

вставлю пока маленький кусочек кода может хватит .

Делаю запрос в бд и считаю необходимые строки , называю их as TJC и as SJC .
И далее хочу использовать их в формуле ., но что то не выходит не понимает он в формуле значения SJC и TJC.
Может кто знает ?
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
select round((0.56*sqrt(TJC))+(0.28*sqrt(SJC))+(0.7*ln(SOE)+0.017*VASH),2),

(
SELECT COUNT(*)from D_V_VISIT_FIELDS f
    where f.PID = :VISIT
    and   num_value = 1
   and  f.template_field in ('Z1','Z2','Z3','Z4','Z5','F1','F2','F3','F4','F5',
'PL_LEFT','PL_RIGHT','LO_LEFT','LO_RIGHT','ZP_LEFT','ZP_RIGHT','KO_LEFT','KO_RIGHT') )as TJC,
   
(
SELECT COUNT(*)from D_V_VISIT_FIELDS f
    where f.PID = :VISIT
    and   num_value = 1
   and  f.template_field in ('SZ1','SZ2','SZ3','SZ4','SZ5','SF1','SF2','SF3','SF4','SF5',
   'S_PL_LEFT','S_PL_RIGHT','S_LO_LEFT','S_LO_RIGHT','S_ZP_LEFT','S_ZP_RIGHT','S_KO_LEFT','S_KO_RIGHT') )as SJC
...
Рейтинг: 0 / 0
16.09.2020, 14:57
    #39999362
Leonid Kudryavtsev
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите посчитать
Наверноe как-то так (без тега SRC, что бы болдом выделить добавленное):

select round((0.56*sqrt(TJC))+(0.28*sqrt(SJC))+(0.7*ln(SOE)+0.017*VASH),2)
FROM
(
SELECT

(
SELECT COUNT(*)from D_V_VISIT_FIELDS f
where f.PID = :VISIT
and num_value = 1
and f.template_field in ('Z1','Z2','Z3','Z4','Z5','F1','F2','F3','F4','F5',
'PL_LEFT','PL_RIGHT','LO_LEFT','LO_RIGHT','ZP_LEFT','ZP_RIGHT','KO_LEFT','KO_RIGHT') )as TJC,
(
SELECT COUNT(*)from D_V_VISIT_FIELDS f
where f.PID = :VISIT
and num_value = 1
and f.template_field in ('SZ1','SZ2','SZ3','SZ4','SZ5','SF1','SF2','SF3','SF4','SF5',
'S_PL_LEFT','S_PL_RIGHT','S_LO_LEFT','S_LO_RIGHT','S_ZP_LEFT','S_ZP_RIGHT','S_KO_LEFT','S_KO_RIGHT') )as SJC
FROM dual
)
...
Рейтинг: 0 / 0
16.09.2020, 15:11
    #39999369
Stax
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите посчитать
Ziliboba_smoll,

Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
SQL> ed
Wrote file afiedt.buf

  1  select TJC, SJC,sin(TJC+SJC) si from
  2* (select count(*) TJC from emp),(select count(*) SJC from dept)
SQL> /

       TJC        SJC         SI
---------- ---------- ----------
        14          4 -.75098725

SQL>


ps

select round((0.56*sqrt(TJC))+(0.28*sqrt(SJC))
from (
select
count(case when template_field in ('Z1','Z2','Z3','Z4','Z5','F1','F2','F3','F4','F5',
'PL_LEFT','PL_RIGHT','LO_LEFT','LO_RIGHT','ZP_LEFT','ZP_RIGHT','KO_LEFT','KO_RIGHT') then 1 end) tsc
,count(case when template_field in ('SZ1','SZ2','SZ3','SZ4','SZ5','SF1','SF2','SF3','SF4','SF5',
'S_PL_LEFT','S_PL_RIGHT','S_LO_LEFT','S_LO_RIGHT','S_ZP_LEFT','S_ZP_RIGHT','S_KO_LEFT','S_KO_RIGHT') then 1 end) SJC
from
D_V_VISIT_FIELDS f
where f.PID = :VISIT
and num_value = 1

....
stax
...
Рейтинг: 0 / 0
16.09.2020, 15:18
    #39999372
Ziliboba_smoll
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите посчитать
Идею понял , только не пойму как сделать полностью, у меня вить там еще один From в котором я присваиваю еще два значения в формуле это SOE и VASH а как это объединить не как не пойму .

Код: 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.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
 select round((0.56*sqrt(TJC))+(0.28*sqrt(SJC))+(0.7*ln(SOE)+0.017*VASH),2),
 
(
SELECT COUNT(*)from D_V_VISIT_FIELDS f
    where f.PID = :VISIT
    and   num_value = 1
   and  f.template_field in ('Z1','Z2','Z3','Z4','Z5','F1','F2','F3','F4','F5',
'PL_LEFT','PL_RIGHT','LO_LEFT','LO_RIGHT','ZP_LEFT','ZP_RIGHT','KO_LEFT','KO_RIGHT') )as TJC,
   
(
SELECT COUNT(*)from D_V_VISIT_FIELDS f
    where f.PID = :VISIT
    and   num_value = 1
   and  f.template_field in ('SZ1','SZ2','SZ3','SZ4','SZ5','SF1','SF2','SF3','SF4','SF5',
   'S_PL_LEFT','S_PL_RIGHT','S_LO_LEFT','S_LO_RIGHT','S_ZP_LEFT','S_ZP_RIGHT','S_KO_LEFT','S_KO_RIGHT') )as SJC
   
  
     

from (
    select 
      max (case when F.TEMPLATE_FIELD ='PL_LEFT' then f.NUM_VALUE else null end)   PL_LEFT ,
      max (case when F.TEMPLATE_FIELD ='PL_RIGHT' then f.NUM_VALUE else null end)  PL_RIGHT,
      max (case when F.TEMPLATE_FIELD ='LO_LEFT' then f.NUM_VALUE else null end)   LO_LEFT,
      max (case when F.TEMPLATE_FIELD ='LO_RIGHT' then f.NUM_VALUE else null end)  LO_RIGHT,
      max (case when F.TEMPLATE_FIELD ='ZP_LEFT' then f.NUM_VALUE else null end)  ZP_LEFT,
      max (case when F.TEMPLATE_FIELD ='ZP_RIGHT' then f.NUM_VALUE else null end)  ZP_RIGHT,
       max (case when F.TEMPLATE_FIELD ='KO_LEFT' then f.NUM_VALUE else null end)  KO_LEFT,
       max (case when F.TEMPLATE_FIELD ='KO_RIGHT' then f.NUM_VALUE else null end)  KO_RIGHT,
        max (case when F.TEMPLATE_FIELD ='Z1' then f.NUM_VALUE else null end)  Z1,
        max (case when F.TEMPLATE_FIELD ='Z2' then f.NUM_VALUE else null end)  Z2,
        max (case when F.TEMPLATE_FIELD ='Z3' then f.NUM_VALUE else null end)  Z3,
        max (case when F.TEMPLATE_FIELD ='Z4' then f.NUM_VALUE else null end)  Z4,
        max (case when F.TEMPLATE_FIELD ='Z5' then f.NUM_VALUE else null end)  Z5,
            
            max (case when F.TEMPLATE_FIELD ='F1' then f.NUM_VALUE else null end)  F1,
            max (case when F.TEMPLATE_FIELD ='F2' then f.NUM_VALUE else null end)  F2,
            max (case when F.TEMPLATE_FIELD ='F3' then f.NUM_VALUE else null end)  F3,
            max (case when F.TEMPLATE_FIELD ='F4' then f.NUM_VALUE else null end)  F4,
            max (case when F.TEMPLATE_FIELD ='F5' then f.NUM_VALUE else null end)  F5,
            
            
      max (case when F.TEMPLATE_FIELD ='S_PL_LEFT' then f.NUM_VALUE else null end)   S_PL_LEFT ,
      max (case when F.TEMPLATE_FIELD ='S_PL_RIGHT' then f.NUM_VALUE else null end)  S_PL_RIGHT,
      max (case when F.TEMPLATE_FIELD ='S_LO_LEFT' then f.NUM_VALUE else null end)   S_LO_LEFT,
      max (case when F.TEMPLATE_FIELD ='S_LO_RIGHT' then f.NUM_VALUE else null end)  S_LO_RIGHT,
      max (case when F.TEMPLATE_FIELD ='S_ZP_LEFT' then f.NUM_VALUE else null end)   S_ZP_LEFT,
      max (case when F.TEMPLATE_FIELD ='S_ZP_RIGHT' then f.NUM_VALUE else null end)  S_ZP_RIGHT,
        max (case when F.TEMPLATE_FIELD ='SZ1' then f.NUM_VALUE else null end)  SZ1,
        max (case when F.TEMPLATE_FIELD ='SZ2' then f.NUM_VALUE else null end)  SZ2,
        max (case when F.TEMPLATE_FIELD ='SZ3' then f.NUM_VALUE else null end)  SZ3,
        max (case when F.TEMPLATE_FIELD ='SZ4' then f.NUM_VALUE else null end)  SZ4,
        max (case when F.TEMPLATE_FIELD ='SZ5' then f.NUM_VALUE else null end)  SZ5,
            
            max (case when F.TEMPLATE_FIELD ='SF1' then f.NUM_VALUE else null end)  SF1,
            max (case when F.TEMPLATE_FIELD ='SF2' then f.NUM_VALUE else null end)  SF2,
            max (case when F.TEMPLATE_FIELD ='SF3' then f.NUM_VALUE else null end)  SF3,
            max (case when F.TEMPLATE_FIELD ='SF4' then f.NUM_VALUE else null end)  SF4,
            max (case when F.TEMPLATE_FIELD ='SF5' then f.NUM_VALUE else null end)  SF5,
                 max (case when F.TEMPLATE_FIELD ='SOE' then f.NUM_VALUE else null end)  SOE,
                 max (case when F.TEMPLATE_FIELD ='VASH' then f.NUM_VALUE else null end)  VASH
                   
                             from D_V_VISIT_FIELDS F
                             where f.PID =:VISIT)
                             
                             



Спасибо.
...
Рейтинг: 0 / 0
16.09.2020, 15:54
    #39999386
Stax
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите посчитать
Ziliboba_smoll
Идею понял


Код: plsql
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.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
 select round((0.56*sqrt(TJC))+(0.28*sqrt(SJC))+(0.7*ln(SOE)+0.017*VASH),2)

from (
    select 
      count( case when  num_value = 1 and
     f.template_field in ('Z1','Z2','Z3','Z4','Z5','F1','F2','F3','F4','F5',
     'PL_LEFT','PL_RIGHT','LO_LEFT','LO_RIGHT','ZP_LEFT','ZP_RIGHT','KO_LEFT','KO_RIGHT')
      then 1 end
      ) as TJC,
--
      count( case when  num_value = 1 and
   template_field in ('SZ1','SZ2','SZ3','SZ4','SZ5','SF1','SF2','SF3','SF4','SF5',
   'S_PL_LEFT','S_PL_RIGHT','S_LO_LEFT','S_LO_RIGHT','S_ZP_LEFT','S_ZP_RIGHT','S_KO_LEFT','S_KO_RIGHT') 
     then 1 end
      ) as SJC,
--
      max (case when F.TEMPLATE_FIELD ='PL_LEFT' then f.NUM_VALUE else null end)   PL_LEFT ,
      max (case when F.TEMPLATE_FIELD ='PL_RIGHT' then f.NUM_VALUE else null end)  PL_RIGHT,
      max (case when F.TEMPLATE_FIELD ='LO_LEFT' then f.NUM_VALUE else null end)   LO_LEFT,
      max (case when F.TEMPLATE_FIELD ='LO_RIGHT' then f.NUM_VALUE else null end)  LO_RIGHT,
      max (case when F.TEMPLATE_FIELD ='ZP_LEFT' then f.NUM_VALUE else null end)  ZP_LEFT,
      max (case when F.TEMPLATE_FIELD ='ZP_RIGHT' then f.NUM_VALUE else null end)  ZP_RIGHT,
       max (case when F.TEMPLATE_FIELD ='KO_LEFT' then f.NUM_VALUE else null end)  KO_LEFT,
       max (case when F.TEMPLATE_FIELD ='KO_RIGHT' then f.NUM_VALUE else null end)  KO_RIGHT,
        max (case when F.TEMPLATE_FIELD ='Z1' then f.NUM_VALUE else null end)  Z1,
        max (case when F.TEMPLATE_FIELD ='Z2' then f.NUM_VALUE else null end)  Z2,
        max (case when F.TEMPLATE_FIELD ='Z3' then f.NUM_VALUE else null end)  Z3,
        max (case when F.TEMPLATE_FIELD ='Z4' then f.NUM_VALUE else null end)  Z4,
        max (case when F.TEMPLATE_FIELD ='Z5' then f.NUM_VALUE else null end)  Z5,
            
            max (case when F.TEMPLATE_FIELD ='F1' then f.NUM_VALUE else null end)  F1,
            max (case when F.TEMPLATE_FIELD ='F2' then f.NUM_VALUE else null end)  F2,
            max (case when F.TEMPLATE_FIELD ='F3' then f.NUM_VALUE else null end)  F3,
            max (case when F.TEMPLATE_FIELD ='F4' then f.NUM_VALUE else null end)  F4,
            max (case when F.TEMPLATE_FIELD ='F5' then f.NUM_VALUE else null end)  F5,
            
            
      max (case when F.TEMPLATE_FIELD ='S_PL_LEFT' then f.NUM_VALUE else null end)   S_PL_LEFT ,
      max (case when F.TEMPLATE_FIELD ='S_PL_RIGHT' then f.NUM_VALUE else null end)  S_PL_RIGHT,
      max (case when F.TEMPLATE_FIELD ='S_LO_LEFT' then f.NUM_VALUE else null end)   S_LO_LEFT,
      max (case when F.TEMPLATE_FIELD ='S_LO_RIGHT' then f.NUM_VALUE else null end)  S_LO_RIGHT,
      max (case when F.TEMPLATE_FIELD ='S_ZP_LEFT' then f.NUM_VALUE else null end)   S_ZP_LEFT,
      max (case when F.TEMPLATE_FIELD ='S_ZP_RIGHT' then f.NUM_VALUE else null end)  S_ZP_RIGHT,
        max (case when F.TEMPLATE_FIELD ='SZ1' then f.NUM_VALUE else null end)  SZ1,
        max (case when F.TEMPLATE_FIELD ='SZ2' then f.NUM_VALUE else null end)  SZ2,
        max (case when F.TEMPLATE_FIELD ='SZ3' then f.NUM_VALUE else null end)  SZ3,
        max (case when F.TEMPLATE_FIELD ='SZ4' then f.NUM_VALUE else null end)  SZ4,
        max (case when F.TEMPLATE_FIELD ='SZ5' then f.NUM_VALUE else null end)  SZ5,
            
            max (case when F.TEMPLATE_FIELD ='SF1' then f.NUM_VALUE else null end)  SF1,
            max (case when F.TEMPLATE_FIELD ='SF2' then f.NUM_VALUE else null end)  SF2,
            max (case when F.TEMPLATE_FIELD ='SF3' then f.NUM_VALUE else null end)  SF3,
            max (case when F.TEMPLATE_FIELD ='SF4' then f.NUM_VALUE else null end)  SF4,
            max (case when F.TEMPLATE_FIELD ='SF5' then f.NUM_VALUE else null end)  SF5,
                 max (case when F.TEMPLATE_FIELD ='SOE' then f.NUM_VALUE else null end)  SOE,
                 max (case when F.TEMPLATE_FIELD ='VASH' then f.NUM_VALUE else null end)  VASH
                   
                             from D_V_VISIT_FIELDS F
                             where f.PID =:VISIT)
                             
              
...
Рейтинг: 0 / 0
16.09.2020, 17:18
    #39999450
Ziliboba_smoll
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите посчитать
Написал по вашему предыдущему примеру, не сработало, Вы прислали полный код и я увидел что я пропустил "," )
Спасибо большое .
...
Рейтинг: 0 / 0
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Помогите посчитать / 6 сообщений из 6, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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