ник: osmor
проглядел, что вам нужно только на первое число месяца
тогда так:
SELECT top 1 Таблица.Date, [Narast_S] from Таблица ORDER BY Таблица.[Date]
Union
SELECT Таблица.Date, [Narast_S]-nz((SELECT top 1 t1.Narast_S FROM Таблица AS t1 WHERE t1.[Date] < таблица.date
ORDER BY t1.[Date] DESC),0) AS profit
FROM Таблица where day(Таблица.[date]) = 1
ORDER BY Таблица.[Date]
|
SELECT top 1 Таблица.Date, [Narast_S] from Таблица ORDER BY Таблица.[Date] - на случай если данные в таблице начинаются не с 1-го числа месяца.
Если уверены что с первого, то можно обойтись
SELECT Таблица.Date, [Narast_S]-nz((SELECT top 1 t1.Narast_S FROM Таблица AS t1 WHERE t1.[Date] < таблица.date
ORDER BY t1.[Date] DESC),0) AS profit
FROM Таблица where day(Таблица.[date]) = 1
ORDER BY Таблица.[Date]
|
Но я бы не стал рисковать
t1 - это алиас таблицы, что бы ACCESS разобрался из какого экземпляра таблицы ему брать поля.
Временных таблиц нет, есть подзапрос.
Что почитать ... не знаю (не считаю себя знатоком SQL) любую книгу по SQL.
Сходите на sql-ex.ru, там есть что почитать и задачки есть (я больше половины не знаю как решать)
ЗЫ. Переименуйте поля, не используйте зарезервированные слова типа Date, Month и т.п. а то будете иметь проблемы