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

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

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

Студворк — интернет-сервис помощи студентам
есть две таблицы
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
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
24.02.2013, 13:32
Ответы с готовыми решениями:

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

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

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

2
1313 / 945 / 144
Регистрация: 17.01.2013
Сообщений: 2,348
24.02.2013, 14:46
не разжевал на 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  [ТС]
я не настолько туп, но всеравно спасибо
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
24.02.2013, 15:25
Помогаю со студенческими работами здесь

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

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

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

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

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


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Новые блоги и статьи
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Programma_Boinc 28.12.2025
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост. Налог на собак: https:/ / **********/ gallery/ V06K53e Финансовый отчет в Excel: https:/ / **********/ gallery/ bKBkQFf Пост отсюда. . .
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Нашел на реддите интересную статью под названием Anyone know where to get a free Desktop or Laptop? Ниже её машинный перевод. После долгих разбирательств я наконец-то вернула себе. . .
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Рецензия / Мнение/ Перевод Нашел на реддите интересную статью под названием The Thinkpad X220 Tablet is the best budget school laptop period . Ниже её машинный перевод. Thinkpad X220 Tablet —. . .
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru