Rambler's Top100
Форум: MS ACCESSVBVBA MS OfficeMS SQL server
Новые сообщения: 0000

Форум: MS ACCESS

Вопросы связанные с MS ACCESS

Обновить визитку
Участники «Online»
Все участники

 
 

Доброго времени суток, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: форматорование строки в ленточной форме
 
 автор: kakha69   (26.02.2007 в 12:40)   личное сообщение
 
 

имею таблицу
year Month Date Narast_S
2006 1 03.01.2006 2773
2006 1 04.01.2006 11655
2006 1 05.01.2006 22692
2006 1 06.01.2006 28610
2006 1 07.01.2006 28610
2006 1 09.01.2006 40169
2006 1 10.01.2006 47121
2006 1 11.01.2006 55106
2006 1 12.01.2006 62444
2006 1 13.01.2006 67786
2006 1 14.01.2006 67842
2006 1 16.01.2006 75338
2006 1 17.01.2006 80095
2006 1 18.01.2006 84070
2006 1 19.01.2006 84070
2006 1 20.01.2006 90094
2006 1 21.01.2006 90225
2006 1 23.01.2006 93965
2006 1 24.01.2006 99203
2006 1 25.01.2006 104026
2006 1 26.01.2006 111396
2006 1 27.01.2006 111883
2006 1 28.01.2006 116979
2006 1 29.01.2006 117037
2006 1 30.01.2006 132932
2006 1 31.01.2006 159947
2006 2 01.02.2006 168194
2006 2 02.02.2006 180855
2006 2 03.02.2006 188727
2006 2 04.02.2006 188860
2006 2 06.02.2006 197581
2006 2 07.02.2006 261861
2006 2 08.02.2006 267689
2006 2 09.02.2006 273443
2006 2 10.02.2006 278832
2006 2 11.02.2006 281128
2006 2 13.02.2006 289318
2006 2 14.02.2006 294019
2006 2 15.02.2006 298110
2006 2 16.02.2006 301100
2006 2 17.02.2006 304306
2006 2 18.02.2006 304654
2006 2 20.02.2006 308856
2006 2 21.02.2006 317472
2006 2 22.02.2006 325281
2006 2 23.02.2006 330776
2006 2 24.02.2006 339274
2006 2 25.02.2006 339399
2006 2 27.02.2006 352368
2006 2 28.02.2006 475194
2006 3 01.03.2006 479020
2006 3 02.03.2006 487079
2006 3 03.03.2006 487154
2006 3 04.03.2006 487464
2006 3 06.03.2006 508420
2006 3 07.03.2006 515764
2006 3 08.03.2006 515764
2006 3 09.03.2006 522814
2006 3 10.03.2006 528954
2006 3 11.03.2006 529712
2006 3 13.03.2006 543031
2006 3 14.03.2006 547805
2006 3 15.03.2006 552199
2006 3 16.03.2006 557898
2006 3 17.03.2006 679306
2006 3 18.03.2006 679513
2006 3 20.03.2006 689382
2006 3 21.03.2006 698208
2006 3 22.03.2006 708386
2006 3 23.03.2006 722677
2006 3 24.03.2006 734042
2006 3 25.03.2006 734569
2006 3 27.03.2006 817279
2006 3 28.03.2006 835879
2006 3 29.03.2006 848906
2006 3 30.03.2006 866459
2006 3 31.03.2006 806098
2006 4 01.04.2006 806392
2006 4 03.04.2006 819726
2006 4 04.04.2006 834402
2006 4 05.04.2006 896288
2006 4 06.04.2006 908180
2006 4 07.04.2006 916495
2006 4 10.04.2006 931966
2006 4 11.04.2006 945176
2006 4 12.04.2006 955706
2006 4 13.04.2006 969611
2006 4 14.04.2006 983042
2006 4 15.04.2006 983162
2006 4 17.04.2006 1026921
2006 4 18.04.2006 1067887
2006 4 19.04.2006 1092570
2006 4 20.04.2006 1117023
2006 4 21.04.2006 1117023
2006 4 22.04.2006 1118385
2006 4 25.04.2006 1134654
2006 4 26.04.2006 1149945
2006 4 27.04.2006 1168890
2006 4 28.04.2006 1347989
2006 4 30.04.2006 1194949
. . . .
на основе етых данных мне надо вичислить каждедневний доход
таким оброзом
Январь значение тоже самое что само Narast_S
а остальние дни Narast_S-значение Narast_S последного месяца
т.е. 01.02.2006 168194-159947=8249
т.е. 01.03.2006 479020-475194=3826 и т.д
как решите эту пробьлему ?

  Ответить  
 
 автор: osmor   (26.02.2007 в 15:07)   личное сообщение
 
 

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 Таблица;


Надеюсь поля в реальной таблице у Вас называются по другому. Зачем хранить месяц и год если они есть в дате....

  Ответить  
 
 автор: kakha69   (26.02.2007 в 16:20)   личное сообщение
14 Кб.
 
 

Спосибо Оsmor
Если не ошибаюсь вы один раз мне уже помогли
я прикрепил файл где я овормил по моему ( ваша намного проше ) но дело в том что вы написали ну ту команду, ваша вычисляеть чистие дны а мне нужен так
на основе етых данных мне надо вичислить каждедневний доход
таким оброзом
Январь значение тоже самое что само Narast_S
а остальние дни Narast_S-значение Narast_S последного месяца
т.е. 01.02.2006 168194-159947=8249
т.е. 01.03.2006 479020-475194=3826 и т.д
и еще что вы порекомендируете какую книгу чтоби учить такие запросы SQL создавать
где скачать

  Ответить  
 
 автор: kakha69   (26.02.2007 в 16:27)   личное сообщение
 
 

как шифруется синтаксис вашего кода если не трудно напишите пож...
здесь t1
помогательная табьлица да ?

  Ответить  
 
 автор: osmor   (26.02.2007 в 16:57)   личное сообщение
12 Кб.
 
 

проглядел, что вам нужно только на первое число месяца
тогда так:

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 и т.п. а то будете иметь проблемы

  Ответить  
HiProg.com - Технологии программирования
Rambler's Top100 TopList