Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.11.17;
Скачать: CL | DM;

Вниз

Помогите сделать sql-запрос   Найти похожие ветки 

 
Слэш2   (2003-10-29 16:26) [0]

Есть таблица:
ID VER FAMILY POS
10 1 Иванов 1
12 1 Петров 2
10 2 Иванов 3
10 3 Иванов 4
12 5 Петров 5
Нужно выбрать все записи с максимальным(ver), т.е. результат нужен:
10 3 Иванов 4
12 5 Петров 5
Вот так я выбираю нужные ID,VER:
select id,max(ver) from table group by id
Как результат этого запроса подставить в select * from table where ......... ?


 
Sandman25 ©   (2003-10-29 16:31) [1]

1)select * from table t1
where ver =
(select max(ver) from table t2
where t1.id = t2.id
)
2)select * from table t1
where not exists
(select * from table t2
where t1.id = t2.id
and t1.id < t2.id
)


 
Sandman25 ©   (2003-10-29 16:32) [2]

2)select * from table t1
where not exists
(select * from table t2
where t1.id = t2.id
and t1. ver < t2. ver
)


 
Sandman25 ©   (2003-10-29 16:35) [3]

Второй вариант очень медленный, берите лучше первый.


 
Johnmen ©   (2003-10-29 16:38) [4]

>Слэш2

select * from table where
ver in (select max(ver) from table group by id)

>Sandman25 ©

id не ключ :)))


 
Sandman25 ©   (2003-10-29 16:45) [5]

[4] Johnmen © (29.10.03 16:38)

>id не ключ :)))

Я знаю :)
Я протестил, мой вариант тоже работает. Причем, под Informix только мой вариант и работает.

PS. Знаю, знаю, у автора как раз IB :)


 
Sandman25 ©   (2003-10-29 16:47) [6]

А нет, я соврал. Твой тоже сработал, я даже не ожидал, что такой синтаксис поддерживается :)


 
Johnmen ©   (2003-10-29 17:09) [7]

Просто у автора бардак со структурой таблицы :)


 
Sandman25 ©   (2003-10-29 17:30) [8]

Да, вероятно ему нужна еще одна таблица с самой последней версией.


 
Слэш2   (2003-10-29 22:12) [9]

Всем огромное спасибо. Бардака никакого нет :) Таблиц никаких не надо :)



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

Текущий архив: 2003.11.17;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.032 c
1-56693
td
2003-11-07 16:03
2003.11.17
Как динамически добавить item в Popup Menu?


7-56943
Любитель
2003-09-09 09:01
2003.11.17
Господа как программно изменить время двойного клика


3-56525
csr
2003-10-19 15:35
2003.11.17
Удаление дублей в БД!


6-56803
Программер
2003-09-19 07:08
2003.11.17
Народ помогите найти???


8-56766
Артем К
2003-07-23 02:00
2003.11.17
Как отобразить цветную картинку в градациях серого?