Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 2003.11.17;
Скачать: [xml.tar.bz2];

Вниз

Помогите сделать 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;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.45 MB
Время: 0.01 c
4-56969
npAKTuk
2003-09-23 15:05
2003.11.17
отлов состояния мышки


1-56647
Anatol
2003-11-05 13:01
2003.11.17
Сервисы


14-56875
Vlad Oshin
2003-10-26 15:57
2003.11.17
Антология -


3-56490
Duce
2003-10-28 14:12
2003.11.17
Обработать отмену удаления.


11-56551
race1
2003-02-25 18:50
2003.11.17
component





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский