Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Составление SQL-запросов > Paradox - выборка без повторов


Автор: alexeytur 15.11.2013, 11:35
Есть таблица:

Номер_детали|Версия_детали|Наименование|и еще много полей...
---------------------------------------------------------------------------
700                  |    A     |                        |
700                  |    B     |                        |
700                  |    C     |                        |
800                  |    A     |                        |
800                  |    B     |                        |
-----------------------------------------------------------------------------
Поля Номер_детали и Версия_детали являются ключами.
Мне нужно сделать SELECT *, но чтобы в результат попали только записи с наибольшим значение версии для одного номера(или на крайний случай по одной записи на каждый номер детали). Вот так:

Номер_детали|Версия_детали|Наименование|и еще много полей...
---------------------------------------------------------------------------
700                  |    C     |                        |
800                  |    B     |                        |

Автор: Zloxa 15.11.2013, 12:23
Для парадокса, наверное только http://forum.vingrad.ru/index.php?showtopic=238891&view=findpost&p=1717573

Автор: alexeytur 15.11.2013, 15:11
в акцессе работает такой код:
Код

SELECT T1.*
FROM
( 
SELECT*
FROM Таблица1
) T1,
 
( 
SELECT num_, MAX(Ver_) AS max_ver
FROM Таблица1
group by num_
) T2

WHERE T1.num_ = T2.num_
  AND T1.ver_ = T2.max_ver

, но парадокс ругается на второй select

Автор: Akina 15.11.2013, 16:47
alexeytur, в парадоксе нет подзапросов. Именно потому Zloxa и сказал
Цитата(Zloxa @ 15.11.2013,  13:23)
только http://forum.vingrad.ru/index.php?showtopic=238891&view=findpost&p=1717573


Автор: alexeytur 22.11.2013, 10:33
Подзапросы можно делатьв  WHERE
Решил так:
Код

SELECT * FROM Detali T1
WHERE Versia=
(
SELECT MAX(Versia) FROM Detali T2
WHERE T1.DetNum=T2.DetNum
)

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)