Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

как получить максимальное значение? [D7, DBISAM]


webpauk ©   (2008-09-26 14:33:00) 

Есть 2 таблицы

T1 (ID INTEGER, IDValue INTEGER, Value CHAR(10))
T2 (ID INTEGER, IDValue INTEGER, Value CHAR(10))

Данные T2.IDValue могут повторяться. Как выбрать ПОСЛЕДНЕЕ значение T2.IDValue  (MAX(T2.ID))


UPDATE T1 SET T1.Value=T2.Value FROM T1
INNER JOIN T2 ON (T1.IDValue=T2.IDValue)
WHERE (T1.ID=2) AND ...


Ega23   (2008-09-26 16:25:00) [1]

AND (T2.ID=(SELECT MAX(T3.ID) FROM T2))

IsNull ещё неплохо добавить. Ну или его аналог.


Johnmen   (2008-09-26 15:29:00) [2]


> ... AND (T2.ID=(SELECT MAX(T3.ID) FROM T2 T3))


Johnmen   (2008-09-26 15:27:00) [3]

Обычно так
... AND (T2.ID=(SELECT MAX(T3.ID) FROM T2))


webpauk   (2008-09-26 15:23:00) [4]

Table2:
ID   IDValue    Value
1    1             Значение1
2    2             Значение2
3    1             Значение11
4    1             Значение12
5    2             Значение21


webpauk   (2008-09-26 15:23:00) [5]


> Johnmen ©   (26.09.08 15:22) [8]

блокируется таблица во время выборки


Johnmen   (2008-09-26 15:22:00) [6]


> webpauk ©   (26.09.08 15:20) [7]

А если пока ты добавляешь последнее обновление, там появится ещё более новое?


webpauk   (2008-09-26 15:20:00) [7]


> Johnmen ©   (26.09.08 15:17) [6]

в второй таблице хранится мусор(история). Интересует только последнее (MAX) значение, соответствующее последнему обновлению информации.

в первую таблицу надо добавить только такие записи.


Johnmen   (2008-09-26 15:17:00) [8]


> как получить максимальное значение?


>  Как выбрать ПОСЛЕДНЕЕ значение

Так какое же?
И зачем, если не секрет?


webpauk   (2008-09-26 15:16:00) [9]


> Anatoly Podgoretsky ©   (26.09.08 14:58) [3]

RecordOrder - поле ID и есть такой идентификатор


webpauk   (2008-09-26 15:15:00) [10]


> Anatoly Podgoretsky ©   (26.09.08 14:58) [3]

поле RecordDateTime - есть
ну и?
всё равно MAX(RecordDateTime) соответствует MAX(ID)


Anatoly Podgoretsky   (2008-09-26 14:58:00) [11]

Надо добавить еще одно поле в таблицу, или RecordDateTime или RecordOrder


webpauk   (2008-09-26 14:53:00) [12]


> Поросенок Винни-Пух ©   (26.09.08 14:45) [1]

MAX(ID)


Поросенок Винни-Пух   (2008-09-26 14:45:00) [13]

а что такое "последнее" значение?


Наверх

Титульная страница Поиск, карта сайта Написать письмо