Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 2003.08.25;
Скачать: [xml.tar.bz2];

Вниз

Как сделать запрос?...   Найти похожие ветки 

 
Владий   (2003-07-31 09:52) [0]

Есть база в Access"е. 1-я таблица - список счетов. 2-я - поступление на счет (дата/сумма/№), 3-я - списание со счетов.
Нужно правильно посчитать - в какой период (сколько дней) какая сумма висела на каждом счете. Можно это сделать запросом? А то вручную делать - неспортивно...

Хорошей Удачи!
Владий // ICQ: 47659886


 
alex_bredin   (2003-07-31 10:10) [1]

select spis.data_spisania-postup.data_postuplenia?


 
alex_bredin   (2003-07-31 10:17) [2]

select scheta.nscheta,
spis.data_spisania-postup.data_postuplenia,
( scheta left join postup on scheta.nscheta=postup.nscheta left join spis on scheta.nscheta=spis.nscheta ) select scheta.nscheta,
spis.data_spisania-postup.data_postuplenia,
postup.summa
from (scheta left join postup on scheta.nscheta=postup.nscheta left join spis on scheta.nscheta=spis.nscheta )




 
Владий   (2003-07-31 11:40) [3]

Почти получилось, только немного не то выходит, что надо...
пока так:

SELECT Contracts.NunDog, Transfer.TDate-Got.GDate, Got.GSum-Transfer.TSum
FROM (Contracts LEFT JOIN Got ON Contracts.NunDog = Got.Contr) LEFT JOIN Transfer ON Contracts.NunDog = Transfer.Contract;

Только вот вместо "Got.GSum-Transfer.TSum" нужно поставить что-то,
чтоб суммировались все поступления\перечисления на дату...

Хорошей Удачи!
Владий // ICQ: 47659886


 
stud   (2003-07-31 11:43) [4]

sum(Got.GSum-Transfer.TSum)...
group by Contracts.NunDog, Transfer.TDate-Got.GDate...


 
Соловьев   (2003-07-31 11:44) [5]

SELECT Contracts.NunDog, Transfer.TDate-Got.GDate, SUM(Got.GSum-Transfer.TSum)
FROM (Contracts LEFT JOIN Got ON Contracts.NunDog = Got.Contr) LEFT JOIN Transfer ON Contracts.NunDog = Transfer.Contract
GROUP BY Transfer.TDate-Got.GDate, Contracts.NunDog


 
Соловьев   (2003-07-31 11:54) [6]


> stud © (31.07.03 11:43)


> Только вот вместо "Got.GSum-Transfer.TSum" нужно поставить
> что-то,
> чтоб суммировались все поступления\перечисления на дату...

поэтому нада групировку сначала по дате сделать.


 
Владий   (2003-07-31 12:53) [7]

Постоянно получались отрицательные значения (хотя их быть не может). попробовал так посмотреть:

SELECT Contracts.NunDog, Got.GDate, Sum(Got.GSum), Transfer.TDate, Sum(Transfer.TSum)
FROM (Contracts LEFT JOIN Got ON Contracts.NunDog = Got.Contr) LEFT JOIN Transfer ON Contracts.NunDog = Transfer.Contract
GROUP BY Contracts.NunDog, Got.GDate, Transfer.TDate
ORDER BY Contracts.NunDog, Got.GDate, Transfer.TDate;

И дошло до меня, что т.к. Даты беруться не каждый день, то и расчеты неверны... Как создать условие, чтобы у меня не считалась разница когда не надо? А то получается, что у меня отчисления 15, до которого было несколько поступлений, а разница считается между перыми записями...

Хорошей Удачи!
Владий // ICQ: 47659886




 
ЮЮ   (2003-08-01 03:11) [8]

>в какой период (сколько дней) какая сумма висела на каждом счете.

Ну и формулировочка! :-)
На такой вопрос существует только один правильный ответ:
"Сумма на счете - это запись во 2-й и она висит всегда, пока запись существует, начиная с даты, указанной в записи"



 
ЮЮ   (2003-08-01 03:21) [9]

Р.S. Сформулируй, примерно так:
"Для каждого(или заданного счета) на заданную дату необходимо подчитать сумму по всем приходом до этой даты(включительно) и вычесть сумму по всем расходам до этой даты(включительно)"

При такой формулировке решение становится просто очевидным. Просто не хочется его выводить, не будучи уверенным, что тебе надо именно это, а не "в какой период (сколько дней) какая сумма висела на каждом счете"



Страницы: 1 вся ветка

Форум: "Базы";
Текущий архив: 2003.08.25;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.46 MB
Время: 0.009 c
14-81914
Карелин Артем
2003-08-07 14:08
2003.08.25
А я на работе сейчас пиво пью.


14-81887
vidiv
2003-08-08 03:13
2003.08.25
Как XP активировать?


1-81744
Vulko
2003-08-10 06:31
2003.08.25
Работа с текстом.


14-81940
Vlad Oshin
2003-08-07 08:50
2003.08.25
Какой сервис пак тащить?


3-81597
nortsov
2003-07-29 13:58
2003.08.25
firebird & TQuery





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский