> úÄÒÁÓÔ×ÕÊÔÅ. > > ôÁËÁÑ ÐÒÏÂÌÅÍËÁ > > åÓÔØ ÔÁÂÌÉÃÁ Ó ÔÁËÉÍÉ ÄÁÎÎÙÍÉ: > > äÁÔÁ (DateTime) > ðÏËÁÚÁÔÅÌØ (Integer) > úÎÁÞÅÎÉÅ ÐÏËÁÚÁÔÅÌÑ (Float) > > ÷ ÜÔÏÊ ÔÁÂÌÉÃÅ ÎÅ ÄÌÑ ×ÓÅÈ ÄÁÔ ËÁÌÅÎÄÁÒÑ ÅÓÔØ ÚÁÐÉÓÉ > > îÕÖÎÏ ÐÏÌÕÞÉÔØ × SQL ÚÁÐÒÏÓÅ ×ÓÅ ÄÁÔÙ ÚÁÐÒÁÛÉ×ÁÅÍÏÇÏ ÐÅÒÉÏÄÁ ÅÓÌÉ (× > ÔÁÂÌÉÃÅ ÏÔÓÕÔÓÔ×ÕÅÔ ÚÎÁÞÅÎÉÅ, ÔÏ ×Ù×ÅÓÔÉ 0). > íÙÓÌÉ ËÒÕÔÑÔÓÑ ×ÏËÒÕÇ ÐÒÏÃÅÄÕÒÙ, ÎÏ ÞÔÏ ÔÏ ËÒÁÓÉ×ÏÇÏ ÒÅÛÅÎÉÑ ÎÅ > ÐÏÌÕÞÁÅÔÓÑ.
ÍÏÖÎÏ ÔÁË ÚÁËÌÁÄÙ×ÁÅÍÓÑ ÎÁ ÍÁËÓÉÍÁÌØÎÕÀ ÒÁÚÎÉÃÕ ÍÅÖÄÕ ÐÅÒ×ÙÍ É ÐÏÓÌÅÄÎÉÍ ÄÎÅÍ × 10000 ÄÎÅÊ create table MY_TABLE( ADATE date, AFLOAT float, unique (ADATE)); select (r1.RDB$RELATION_ID + r2.RDB$RELATION_ID * 10 + r3.RDB$RELATION_ID * 100 + r4.RDB$RELATION_ID * 1000) + (select min(ADATE) from MY_TABLE), coalesce((select AFLOAT from MY_TABLE where ADATE = (r1.RDB$RELATION_ID + r2.RDB$RELATION_ID * 10 + r3.RDB$RELATION_ID * 100 + r4.RDB$RELATION_ID * 1000) + (select min(ADATE) from MY_TABLE)),0) from RDB$DATABASE join RDB$RELATIONS r1 on r1.RDB$RELATION_ID < 10 join RDB$RELATIONS r2 on r2.RDB$RELATION_ID < 10 join RDB$RELATIONS r3 on r3.RDB$RELATION_ID < 10 join RDB$RELATIONS r4 on r4.RDB$RELATION_ID < 10 where (r1.RDB$RELATION_ID + r2.RDB$RELATION_ID * 10 + r3.RDB$RELATION_ID * 100 + r4.RDB$RELATION_ID * 1000) between 0 and (select max(ADATE) - min(ADATE) from MY_TABLE) order by 1

