Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / IBM DB2, WebSphere, IMS, U2, etc Новый топик    Ответить
 Помогите с запросом  [new]
guest160617
Guest
Есть два запроса.
select P_VAG.ROD_VAG, RV.MNKD_R, count(P_VAG.ROD_VAG) as colrv from P_VAG, RV 
where RV.ROD_VAG=P_VAG.ROD_VAG and marsh<>1 and pr_nrp=0 and P_VAG.rod_vag>=20 and p_sost=0 and KOL_OS=4 group by P_VAG.rod_vag, RV.MNKD_R


select P_VAG.ROD_VAG, RV.MNKD_R, count(P_VAG.ROD_VAG) as colrv from P_VAG, RV 
where RV.ROD_VAG=P_VAG.ROD_VAG and marsh<>1 and pr_nrp=0 and P_VAG.rod_vag>=20 and p_sost=1 and KOL_OS=4 group by P_VAG.rod_vag, RV.MNKD_R


Не получается совладать с джоинами. Нужно чтобы count из второго запроса был добавлен четвертым столбцом к результату первого.

Для наглядности результат первого и второго запроса:

 ROD_VAG MNKD_R COLRV 
------- ------ -----
20 КР 4
60 ПВ 2
70 ЦС 22
90 ПР 2


 ROD_VAG MNKD_R COLRV 
------- ------ -----
60 ПВ 12
87 РФ 5
16 июн 17, 08:43    [20568985]     Ответить | Цитировать Сообщить модератору
 Re: Помогите с запросом  [new]
Добрый Э - Эх
Guest
guest160617,

ну и результат на этих данных какой ожидается?
16 июн 17, 08:52    [20569008]     Ответить | Цитировать Сообщить модератору
 Re: Помогите с запросом  [new]
guest160617
Guest
Добрый Э - Эх, хотелось бы такой


 ROD_VAG MNKD_R COLRV COLRV
------- ------ ----- -----
20 КР 4
60 ПВ 2 12
70 ЦС 22
87 РФ 5
90 ПР 2

16 июн 17, 08:57    [20569018]     Ответить | Цитировать Сообщить модератору
 Re: Помогите с запросом  [new]
m&m
Guest
guest160617,
схематично вроде так д.б.


select P_VAG.ROD_VAG, RV.MNKD_R,

case p_sost
when 0 then count(P_VAG.ROD_VAG)
else null
end as colrv 1,

case p_sost
when 1 then count(P_VAG.ROD_VAG)
else null
end as colrv 2

from P_VAG, RV
where RV.ROD_VAG=P_VAG.ROD_VAG and marsh<>1 and pr_nrp=0 and P_VAG.rod_vag>=20 and p_sost in (0,1) and KOL_OS=4 group by P_VAG.rod_vag, RV.MNKD_R
16 июн 17, 11:32    [20569515]     Ответить | Цитировать Сообщить модератору
 Re: Помогите с запросом  [new]
guest160617
Guest
m&m, благодарю

 ROD_VAG MNKD_R COLRVGR COLRVP 
------- ------ ------- ------
20 КР 4 NULL
60 ПВ 2 NULL
60 ПВ NULL 12
70 ЦС 22 NULL
87 РФ NULL 5
90 ПР 2 NULL

Еще бы одинаковые ROD_VAG в одну строку COLRVGR и COLRVP записывало, было бы вообще идеально.
16 июн 17, 11:57    [20569631]     Ответить | Цитировать Сообщить модератору
 Re: Помогите с запросом  [new]
m&m
Guest
guest160617,

если в лоб, то м.б. заменить null на 0 и применить sum()

with t1 as
(
--source query with 0 instead of null
)
select ROD_VAG, MNKD_R, sum(COLRVGR), sum(COLRVP) from t1 group by ...


или сразу в исходном запросе приводить к такому виду
16 июн 17, 13:42    [20570040]     Ответить | Цитировать Сообщить модератору
 Re: Помогите с запросом  [new]
guest160617
Guest
m&m, большое спасибо
16 июн 17, 13:59    [20570083]     Ответить | Цитировать Сообщить модератору
Все форумы / IBM DB2, WebSphere, IMS, U2, etc Ответить