Тут для офисных нужд понадобилось. Повтыкал в базу и сообразил такой вот запросик: SELECT TBL1.IDN, TBL1.PDATEN, (TBL1.TOTAL - TBL2.TOTAL) AS TOTAL FROM [ SELECT LAST(ID) AS IDN, LAST(PDATE) AS PDATEN, SUM(OUTRUR + OUTCUR) AS TOTAL FROM Balance WHERE TYPE = 'A' AND ( ACCOUNT LIKE "319*" OR ACCOUNT LIKE "320*" OR ACCOUNT LIKE "321*" OR ACCOUNT LIKE "322*" OR ACCOUNT LIKE "323*" OR ACCOUNT = 80000 ) OR ACCOUNT = 80000 GROUP BY ID, PDATE ]. AS TBL1 INNER JOIN [ SELECT LAST(ID) AS IDN, LAST(PDATE) AS PDATEN, SUM(OUTRUR + OUTCUR) AS TOTAL FROM Balance WHERE ACCOUNT = 80000 GROUP BY ID, PDATE ]. AS TBL2 ON (TBL1.PDATEN = TBL2.PDATEN) AND (TBL1.IDN = TBL2.IDN); Ну и работало вроде замечательно. Это MS ACCESS естественно. Но со временем база пухла и пухла и сейчас уже стали доставать с тем, что тормозит. Проверил - действительно, на 100к записях порядка 10 секунд думает. Решил перевести всю базу на firebird. Но вот не могу перестроить запросы. Никак не соображу как он с вложенными select работает. Я далеко не DBA, потому прошу помочь.
Ответ на:
комментарий
от anonymous
Ответ на:
комментарий
от Anoxemian
Ответ на:
комментарий
от svr69
Ответ на:
комментарий
от Anoxemian
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.