powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / IBM DB2, WebSphere, IMS, U2 [игнор отключен] [закрыт для гостей] / не могу понять sql запрос
3 сообщений из 3, страница 1 из 1
не могу понять sql запрос
    #38754629
ikeres
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
СУБД IBM DB2. Есть запрос, который говорят когда-то до меня работал:

select d.STRAH_NUM,d.FAM,d.IMYA,d.OTCHESTVO
from DECLARATION d, PAYMENT p
WHERE p.STRAH_NUM = d.STRAH_NUM and d.STRAH_NUM in (select p.strah_num
from PAYMENT p
where ((YEAR(p.date_enter)<=2013 and YEAR(p.date_poruch)=2013)
or (YEAR(p.date_poruch)<=2013 and YEAR(p.date_enter) is null))
)
and d.STRAH_NUM not in (select p.strah_num
from PAYMENT p
where YEAR(p.date_enter)=2014 and p.sum_woker>0
)
GROUP BY d.STRAH_NUM,d.FAM,d.IMYA,d.OTCHESTVO
ORDER by d.FAM

и сейчас запускаю - выдает ноль строк.
Переделал:

select d.STRAH_NUM,d.FAM,d.IMYA,d.OTCHESTVO
from DECLARATION d, (select distinct w.strah_num from PAYMENT w
where ((YEAR(w.date_enter)<=2013 and YEAR(w.date_poruch)<=2013) or
(YEAR(w.date_poruch)<=2013 and YEAR(w.date_enter) is null))
except
select distinct q.strah_num
from PAYMENT q
where YEAR(q.date_enter)=2014
) p
WHERE p.STRAH_NUM = d.STRAH_NUM
GROUP BY d.STRAH_NUM,d.FAM,d.IMYA,d.OTCHESTVO, D.NUM_RAION
ORDER by d.FAM

выдает нормально. В чем дело?
...
Рейтинг: 0 / 0
не могу понять sql запрос
    #38754650
ikeres,

Скорее всего NOT IN подзапрос в качестве одного из своих значений стал возвращать NULL.
Попробуй для проверки этой версии добавить в него условие and p.strah_num is not null:
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
select d.STRAH_NUM,d.FAM,d.IMYA,d.OTCHESTVO
from DECLARATION d, PAYMENT p
WHERE p.STRAH_NUM = d.STRAH_NUM and d.STRAH_NUM in (select p.strah_num 
from PAYMENT p 
where	((YEAR(p.date_enter)<=2013 and YEAR(p.date_poruch)=2013)
or (YEAR(p.date_poruch)<=2013 and YEAR(p.date_enter) is null))
) 
and d.STRAH_NUM not in (select p.strah_num
from PAYMENT p 
where YEAR(p.date_enter)=2014 and p.sum_woker>0
and p.strah_num is not null
) 
GROUP BY d.STRAH_NUM,d.FAM,d.IMYA,d.OTCHESTVO
ORDER by d.FAM
...
Рейтинг: 0 / 0
не могу понять sql запрос
    #38755431
ikeres
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Добрый Э - Эх, спасибо. добавил как вы и говорили, и стало нормально!
...
Рейтинг: 0 / 0
3 сообщений из 3, страница 1 из 1
Форумы / IBM DB2, WebSphere, IMS, U2 [игнор отключен] [закрыт для гостей] / не могу понять sql запрос
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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