Главная страница
    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.45 MB
Время: 0.013 c
14-56835
vitalik
2003-10-28 00:34
2003.11.17
невидимая программа


1-56722
Micke
2003-11-07 19:36
2003.11.17
Работа с памятью процессов


1-56718
LastLamer
2003-11-06 21:58
2003.11.17
SetFocus


4-56960
Maxim Pshevlotsky
2003-09-20 11:47
2003.11.17
Где найти информацию по function UpdateResource?


1-56570
rel_
2003-11-06 11:56
2003.11.17
Глюк с перерисовкой





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский