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

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

актуальный срез в SQL для IB 6 [D6, IB6.x]


Bizon ©   (2004-04-07 12:33:00) 

В IB6 веду историю договоров. Структура таблицы: PK-Nдог-TimeStampизменения записи-... Хочу получить актуальный срез данных. Max(TimeStamp)...group by PK, Nдог  не позволяет такого сделать. Подскажите пожста.


Bizon   (2004-04-07 13:45:00) [1]

Большое спасибо roottim


roottim   (2004-04-07 13:14:00) [2]

если t.DOGNUM, t.datetimechange  не дают один  и тотже t.PKcode то попробуй... (ничего не проверял..конечно :) )
select t.PKcode, t.DOGNUM, t.datetimechange  from CONTRACTS t
where t.datetimechange  =
 (
  select max(c.datetimechange) from CONTRACTS c
    where c.dognum = t.dognum
 )</


sniknik   (2004-04-07 13:03:00) [3]

> раз PK везде разный
то его нужно исключить из групировки и группировать только то что должно быть сгрупировано.


Bizon   (2004-04-07 12:56:00) [4]

он группирует по PK, т.е. фактически не группирует раз PK везде разный и max(datetimechange)  эффекта не дает. Может есть другие решения?


Соловьев   (2004-04-07 12:48:00) [5]


> не позволяет,

ошибка? что значит не позволяет?


Bizon   (2004-04-07 12:45:00) [6]

select PKcode, DOGNUM, max(datetimechange)  from CONTRACTS
group by PKcode, DOGNUM - не позволяет, потому что присутствует группировка по PKcode(договор определяется DOGNUM, а PKcode используется, т.к. данные договора могут меняться)


Соловьев   (2004-04-07 12:35:00) [7]


> Max(TimeStamp)...group by PK, Nдог

подробнее


Наверх

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