Форум программистов, компьютерный форум, киберфорум
Microsoft SQL Server
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.91/11: Рейтинг темы: голосов - 11, средняя оценка - 4.91
0 / 0 / 1
Регистрация: 08.11.2012
Сообщений: 29
1

вывод остатков

24.02.2013, 13:32. Показов 2250. Ответов 2
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
есть две таблицы
SQL
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
таблица со счетами клиентов 
id   id_c      счет                 дата открытия 
1   1   9830000367  2012-07-22 19:21:50.700
2   2   9830000558  2012-07-22 19:21:50.700
3   2   9830000340  2012-07-22 19:22:06.300
 
движение денежных средств со счета на счет
дата                      откуда           куда          сумма
2012-08-05 00:00:00.000 9830000367  9830000558  500,00
2012-08-11 00:00:00.000 9830000558  9830000367  200,00
2012-08-13 00:00:00.000 9830000367  9830000558  50,00
2012-08-23 00:00:00.000 9830000367  9830000558  300,00
2012-08-23 00:00:00.000 9830000558  9830000367  350,00
 
нужно вывести такую таблицу 
 
20120730    Счет2   0
20120805    Счет2   500
20120811    Счет2   300
20120813    Счет2   350
20120820    Счет2   650
20120823    Счет2   300
нужно сформировать остатки по каждому счету, по датам не зависимо от того было за этот день проводка или нет
например за дату 20120815 проводки не было а вернуть должен 350 руб
Помогите пожалуйста, подскажите просто в каком направление двигаться а то у меня ступор!
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
24.02.2013, 13:32
Ответы с готовыми решениями:

Подсчет остатков по товарам
Добрый вечер, столкнулся со следующей проблемой: в таблице "Заказы" содержатся строки типа "приход"...

Запрос остатков лекарств по отделениям
Добрый день. У меня есть два представления Приход(Название_отделения, название_лекарства,...

Правильно соединить таблицы субклиентов и остатков
Здравствуйте! Есть 2 таблицы (для краткости)в синтаксисе могут быть ошибки, пишу из головы:...

Вывод на экран остатков
Имеется регистр накопления, который сохраняет информацию о движении количества товаров на складе....

2
1313 / 945 / 144
Регистрация: 17.01.2013
Сообщений: 2,348
24.02.2013, 14:46 2
не разжевал на sql.ru, извините, дожую здесь
Кликните здесь для просмотра всего текста
T-SQL
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
if OBJECT_ID('tempdb..#таблица_со_счетами_клиентов')!=0 drop table #таблица_со_счетами_клиентов,#движение_денежных_средств_со_счета_на_счет
create table #таблица_со_счетами_клиентов (id int, id_c int, счет varchar(30), дата_открытия datetime)
insert #таблица_со_счетами_клиентов values 
   (1 ,1 ,'9830000367','20120722 19:21:50'),(2 ,2 ,'9830000558','20120722 19:21:50'),(3 ,2 ,'9830000340','20120722 19:22:06')
create table #движение_денежных_средств_со_счета_на_счет(дата date, откуда varchar(30), куда varchar(30), сумма money)
insert #движение_денежных_средств_со_счета_на_счет values
   ('20120805', '9830000367','9830000558',500.00),('20120811', '9830000558','9830000367',200.00),('20120813', '9830000367','9830000558', 50.00),
   ('20120823', '9830000367','9830000558',300.00),('20120823', '9830000558','9830000367',350.00)
--select * from #таблица_со_счетами_клиентов
--select * from #движение_денежных_средств_со_счета_на_счет
;
with 
CTE as (select дата,счет,SUM(сумма)сумма from (
   select дата, куда счет, сумма from #движение_денежных_средств_со_счета_на_счет
   union all
   select дата, откуда, -сумма from #движение_денежных_средств_со_счета_на_счет
   )u
   group by дата,счет),
dates as (
   select счет, min(дата)дата, max(дата)стоп from CTE group by счет
   union all 
   select счет, DATEADD(dd,1,d.дата),стоп from dates d where d.дата<d.стоп
   )
select d.*, ISNULL(c.сумма,0)сумма, isnull((select SUM(сумма) from CTE where счет=d.счет and дата<=d.дата),0)итого_за_день
from dates d
left join CTE c on c.дата=d.дата and c.счет=d.счет
order by d.счет,d.дата
Кликните здесь для просмотра всего текста
счет дата стоп сумма итого_за_день
98300003672012-08-052012-08-23-500.00-500.00
98300003672012-08-062012-08-230.00-500.00
98300003672012-08-072012-08-230.00-500.00
98300003672012-08-082012-08-230.00-500.00
98300003672012-08-092012-08-230.00-500.00
98300003672012-08-102012-08-230.00-500.00
98300003672012-08-112012-08-23200.00-300.00
98300003672012-08-122012-08-230.00-300.00
98300003672012-08-132012-08-23-50.00-350.00
98300003672012-08-142012-08-230.00-350.00
98300003672012-08-152012-08-230.00-350.00
98300003672012-08-162012-08-230.00-350.00
98300003672012-08-172012-08-230.00-350.00
98300003672012-08-182012-08-230.00-350.00
98300003672012-08-192012-08-230.00-350.00
98300003672012-08-202012-08-230.00-350.00
98300003672012-08-212012-08-230.00-350.00
98300003672012-08-222012-08-230.00-350.00
98300003672012-08-232012-08-2350.00-300.00
98300005582012-08-052012-08-23500.00500.00
98300005582012-08-062012-08-230.00500.00
98300005582012-08-072012-08-230.00500.00
98300005582012-08-082012-08-230.00500.00
98300005582012-08-092012-08-230.00500.00
98300005582012-08-102012-08-230.00500.00
98300005582012-08-112012-08-23-200.00300.00
98300005582012-08-122012-08-230.00300.00
98300005582012-08-132012-08-2350.00350.00
98300005582012-08-142012-08-230.00350.00
98300005582012-08-152012-08-230.00350.00
98300005582012-08-162012-08-230.00350.00
98300005582012-08-172012-08-230.00350.00
98300005582012-08-182012-08-230.00350.00
98300005582012-08-192012-08-230.00350.00
98300005582012-08-202012-08-230.00350.00
98300005582012-08-212012-08-230.00350.00
98300005582012-08-222012-08-230.00350.00
98300005582012-08-232012-08-23-50.00300.00

Только про ступор - лишнее

Добавлено через 9 минут
PS В строке №24 вместо select d.* должно быть select d.счет,d.дата (а то скажете, что неправильно работает - лишняя колонка в таблице)
1
0 / 0 / 1
Регистрация: 08.11.2012
Сообщений: 29
24.02.2013, 15:25  [ТС] 3
я не настолько туп, но всеравно спасибо
0
24.02.2013, 15:25
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
24.02.2013, 15:25
Помогаю со студенческими работами здесь

Проверка остатков и вывод ошибки
Добрый день, я уверена, что подобные вопросы уже были, но не знаю, как правильно ввести запрос, не...

Вывод остатков в номенклатуре по местам хранения
День добрый. 1С 8.2 Делаю конфигурацию по аналогии готовой, в 1с практически не шарю, не...

УТ 11. Отчет СКД: вывод номенклатуры, характеристик и остатков в прайс-листе.
Люди добрые помогите пожалуйста... Никак не могу победить макет прайс-листа.. А конкретно 2 вещи: ...

Выяснить, правда ли, что сумма остатков от деления нечётных x на k будет больше чем сумма остатков от деления чётных x на k
Ввести N чисел: 1 2 , ,..., N x x x , (N ≥3) и число k . Выяснить, правда ли, что сумма остатков ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru