powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Помогите с решением
3 сообщений из 3, страница 1 из 1
Помогите с решением
    #40040970
Gelotte
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Всем привет! Занимаюсь самообучением. Есть несколько задач, не понимаю как написать запрос. Вот одна из них:

Дано

Имеется таблица проводок по счетам, отражающая факты начисления или списания денежных средств по счетам клиента. Состоит из столбцов:

· BUSINESS_DT - дата проводки

· ACCOUNT_DEBIT_ID - идентификатор счета дебита, с которого списываются средства

· ACCOUNT_CREDIT_ID - идентификатор счета кредита, на который начисляются средства

· POSTING_AMT - сумма проводки в рублях. Т.е. сумма средств, которая списывается со счета дебита и зачисляется на счет кредита. Значение всегда положительное.


Задание

Написать SQL-запрос, который на основании таблицы проводок рассчитает остатки по счетам на текущую дату. Начальные остатки по всем счетам полагаем равными нулю. Таблица должна состоять из следующих столбцов:

· Account_ID – идентификатор счета

· Current_Date – дата, на которую посчитан остаток

· Account_Balance – остаток на счете, может быть отрицательным.
...
Рейтинг: 0 / 0
Помогите с решением
    #40040978
Фотография Vadim Lejnin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Gelotte,

памятка:
HOWTO :: Как правильно задавать вопросы
Как мне оформить свое сообщение?
Студентам, желающим помощи

1) Полная постановка задачи (без сокращений)
2) Подготовьте тестовые данные, лучше в виде with
например (не ваш случай):

Код: plsql
1.
2.
3.
4.
5.
6.
with tbl(col1,col2,col3) as (
select 1,'name1',to_date('11.02.1921','DD.MM.YYYY') from dual union all
select 2,'name2',to_date('11.02.1922','DD.MM.YYYY') from dual union all
select 3,'name2',to_date('11.02.1923','DD.MM.YYYY') from dual
)
select col2 from tbl...



3) Покажите что сделали, что получили, без сокращений. ( лучше не в виде screenshot)


4) используйте Тэги, читать код без них неудобно, правильно оформляйте сообщение
...
Рейтинг: 0 / 0
Помогите с решением
    #40041153
Фотография Stax
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Gelotte,
Код: plsql
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.
SQL> ed
Wrote file afiedt.buf

  1  with t (BUSINESS_DT,ACCOUNT_DEBIT_ID,ACCOUNT_CREDIT_ID,POSTING_AMT) as(
  2  select sysdate-1,26001,6510,100 from dual union all
  3  select sysdate-1,26002,6510,200 from dual union all
  4  select sysdate-2,26002,26003,300 from dual union all
  5  select sysdate-3,70410,26380,400 from dual)
  6  ,tt as (
  7   select ACCOUNT_DEBIT_ID acc,POSTING_AMT s from t where BUSINESS_DT<=sysdate
  8   union all
  9   select ACCOUNT_CREDIT_ID acc,-POSTING_AMT s from t where BUSINESS_DT<=sysdate)
 10  select acc,sum(s) saldo from tt group by acc
 11* order by 1
SQL> /

       ACC      SALDO
---------- ----------
      6510       -300
     26001        100
     26002        500
     26003       -300
     26380       -400
     70410        400

6 rows selected.



в реалии сложнее

.....
stax
...
Рейтинг: 0 / 0
3 сообщений из 3, страница 1 из 1
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Помогите с решением
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]