powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / IBM DB2, WebSphere, IMS, U2 [игнор отключен] [закрыт для гостей] / Помогите с запросом
7 сообщений из 7, страница 1 из 1
Помогите с запросом
    #39472815
guest160617
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Есть два запроса.
Код: sql
1.
2.
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



Код: sql
1.
2.
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 из второго запроса был добавлен четвертым столбцом к результату первого.

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

Код: plaintext
1.
2.
3.
4.
5.
6.
 ROD_VAG MNKD_R COLRV 
 ------- ------ ----- 
 20      КР         4
 60      ПВ         2
 70      ЦС        22
 90      ПР         2


Код: plaintext
1.
2.
3.
4.
 ROD_VAG MNKD_R COLRV 
 ------- ------ ----- 
 60      ПВ        12
 87      РФ         5
...
Рейтинг: 0 / 0
Помогите с запросом
    #39472824
guest160617,

ну и результат на этих данных какой ожидается?
...
Рейтинг: 0 / 0
Помогите с запросом
    #39472831
guest160617
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Добрый Э - Эх, хотелось бы такой


Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
 ROD_VAG MNKD_R COLRV COLRV
 ------- ------ ----- -----
 20      КР         4
 60      ПВ         2 	 12
 70      ЦС        22
 87      РФ               5
 90      ПР         2

...
Рейтинг: 0 / 0
Помогите с запросом
    #39472995
m&m
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
m&m
Гость
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
...
Рейтинг: 0 / 0
Помогите с запросом
    #39473031
guest160617
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
m&m, благодарю

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
 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 записывало, было бы вообще идеально.
...
Рейтинг: 0 / 0
Помогите с запросом
    #39473128
m&m
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
m&m
Гость
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 ...


или сразу в исходном запросе приводить к такому виду
...
Рейтинг: 0 / 0
Помогите с запросом
    #39473140
guest160617
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
m&m, большое спасибо
...
Рейтинг: 0 / 0
7 сообщений из 7, страница 1 из 1
Форумы / IBM DB2, WebSphere, IMS, U2 [игнор отключен] [закрыт для гостей] / Помогите с запросом
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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