Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Как можно запрос переделать? / 4 сообщений из 4, страница 1 из 1
29.04.2004, 10:08
    #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
29.04.2004, 10:24
    #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
29.04.2004, 11:27
    #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
29.04.2004, 11:36
    #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
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Как можно запрос переделать? / 4 сообщений из 4, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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