Вниз
Скачать: CL | DM;

Помогите составить запрос на Oracle   Найти похожие ветки 

← →
vlgrig1961   (2004-06-23 08:25) [0]

Здравствуйте уважаемые знатоки Оракла.
Помоги составить SQL запрос:
есть таблица с разными датами, надо выбрать по одной записи
на дату <= текущей (т.е. последние данные)

Nomer   Data      Summa
------  ------    ------
1       01.01.04  100
1       11.01.04  150
1       02.02.04  350
2       20.01.04  500
2       28.02.04  600
3       31.12.03  1560
3       01.02.04  2300

Выбрать на дату <= 01.02.04
1       11.01.04  150
2       20.01.04  500
3       01.02.04  2300

Можно ли такое сделать ?


← →
Sergey13 ©   (2004-06-23 08:38) [1]

select nomer,summa,min(sysdate-data)
from table
group by 1,2


← →
Johnmen ©   (2004-06-23 09:37) [2]

SELECT * FROM Table T1
WHERE T1.Date=(SELECT MAX(T2.Date) FROM Table T2 WHERE (T1.Nomer=T2.Nomer) AND (T2.Date<=01.02.04)


← →
asp ©   (2004-06-23 09:41) [3]

Что значит "по одной записи"? По одной в каком наборе (nomer, data, summa)?


← →
Жук ©   (2004-06-23 10:19) [4]


> Johnmen ©   (23.06.04 09:37) [2]

А если записей с макс.датой больше 1 ?


← →
Johnmen ©   (2004-06-23 10:33) [5]

>Жук ©   (23.06.04 10:19) [4]
>А если записей с макс.датой больше 1 ?

Ну, естественно, и получим больше 1. Что не противоречит постановке вопроса...
:)
Но телепатически вдумавшись в вопрос, предполагаю, что не может быть более 1 платежа за дату.


← →
Sergey13 ©   (2004-06-23 10:42) [6]

Мой первый пост - фигня. Поторопился в знатоки. 8-)

select t1.* from test t1,
(select nomer,max(data) data
from test
where data<=to_date("01.02.04")
group by nomer) t2
where t1.nomer=t2.nomer and t1.data=t2.data

В принципе очень похоже на [2], но статистика (без индексов) вроде чуть лучше.

2Жук ©   (23.06.04 10:19) [4]
>А если записей с макс.датой больше 1 ?
Значит будет больше 1. 8-)



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.021 c
14-1088114032
Sanek_metaller
2004-06-25 01:53
2004.07.18
Тугость Эспандра


1-1088895655
CyberSpy
2004-07-04 03:00
2004.07.18
Печать страницы


1-1088293071
Suomi
2004-06-27 03:37
2004.07.18
Исталляция компонента


1-1088716508
MIGUR
2004-07-02 01:15
2004.07.18
Нумерация строк


3-1088082291
Newb
2004-06-24 17:04
2004.07.18
Бесплатные компоненты для работы с деревьями




   Наверх