powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Как можно запрос переделать?
4 сообщений из 4, страница 1 из 1
Как можно запрос переделать?
    #32501956
Youra Polishuk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
select count(o.uwi)
from maintable m, otbor o
where m.gp='2' and m.uwi=o.uwi and o.datez=:dat and o.f3=0
and (select sum(o2.f3)
from otbor o2
where o2.uwi=o.uwi and o2.datez<:dat)>0
Нужно получить кол-во o.uwi на дату :dat у которых ранее даты :dat
никогда не было ни разу, чтобы o.f3>0 был.
Так как у меня написано очень много перебора. Может можно как-то по другому?
...
Рейтинг: 0 / 0
Как можно запрос переделать?
    #32501996
Фотография Zmeishe
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Может так?
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
select count(o.uwi) 
from maintable m
       join otbor o on (m.uwi = o.uwi)
where (m.gp = '2') 
   and (o.datez = :dat) 
   and (o.f3 <>  0 ) 

   and not exists (select o2.f3
                   from otbor o2 
                   where (o2.uwi = o.uwi) 
                      and (o2.datez < :dat))
...
Рейтинг: 0 / 0
Как можно запрос переделать?
    #32502161
FreemanZAV
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Самое простое:
Код: plaintext
1.
2.
3.
4.
select sum((select  1 
from otbor o2 
where o2.uwi=o.uwi and o2.datez<:dat ))
from maintable m, otbor o 
where m.gp='2' and m.uwi=o.uwi and o.datez=:dat and o.f3= 0  

Примерно так.
...
Рейтинг: 0 / 0
Как можно запрос переделать?
    #32502188
FreemanZAV
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Извините, нет так немного
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
select sum((select  1 

from rdb$database

where   o.datez<:dat and o.f3= 0  ))

from maintable m, otbor o 

where m.gp='2' and m.uwi=o.uwi and o.datez<=:dat  
...
Рейтинг: 0 / 0
4 сообщений из 4, страница 1 из 1
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Как можно запрос переделать?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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