最初の日付と最後の日付のSQLから値を取得します

ErrorNotFoundException

クライアントがこの形式で行うすべてのトランザクションの後に、クライアントの残高を格納するテーブルがあります。

Client number    balance     tran_date
7734766688       23000       07-AUG-2014
7734766688       40000       07-AUG-2014
7734766688       20000       10-AUG-2014
7734766688       13000       15-AUG-2014
7734766688      400000       29-AUG-2014
7734766688      200000       02-SEP-2014

クライアントは、8月12日から8月31日までのステートメントを望んでいません。これは、開始残高がで20000あり、終了残高が8月31日であるということを意味し400000ます。クエリを実行して、照会日と最終日の残高を取得するにどうすればよいですか。利用可能な日付は、最後のトランザクションによるものですか?

期首残高を取得するためにこれを試しましたが、十分ではないようです。

select balance from (select * from  client_balances where client_number = '7734766688' 
order by TRAN_DATE asc) 
where TRAN_DATE >= '01-AUG-2014' and rownum =1;

助けてください、立ち往生しています。

Multisync
with client_balances as (
select '7734766688' client_number, 23000 balance, to_date('07-08-2014', 'DD-MM-YYYY') tran_date from dual
union all select '7734766688', 40000, to_date('07-08-2014', 'DD-MM-YYYY') from dual
union all select '7734766688', 20000, to_date('10-08-2014', 'DD-MM-YYYY') from dual
union all select '7734766688', 13000, to_date('15-08-2014', 'DD-MM-YYYY') from dual
union all select '7734766688', 400000, to_date('29-08-2014', 'DD-MM-YYYY') from dual
union all select '7734766688', 200000, to_date('02-09-2014', 'DD-MM-YYYY') from dual
),
client_balances_analytic as (
select client_number, balance, tran_date, 
       lag(balance) over(partition by client_number order by tran_date) prev_balance,
       lag(tran_date) over(partition by client_number order by tran_date) prev_tran_date
from client_balances)
select tran_date_start, balance_start, tran_date_end, balance_end from (
  select case when tran_date = to_date('12-08-2014', 'DD-MM-YYYY') then tran_date else nvl(prev_tran_date, tran_date) end tran_date_start, 
         case when tran_date = to_date('12-08-2014', 'DD-MM-YYYY') then balance else nvl(prev_balance, balance) end balance_start, 
         row_number() over(order by tran_date) rw,
         last_value(tran_date) over(order by tran_date rows between current row and unbounded following) tran_date_end,
         last_value(balance) over(order by tran_date rows between current row and unbounded following) balance_end
   from client_balances_analytic 
  where client_number = '7734766688' and tran_date between to_date('12-08-2014', 'DD-MM-YYYY') and to_date('31-08-2014', 'DD-MM-YYYY')
) where rw = 1;

ラグ関数は前の行からデータを取得します

このクエリは、タイ(同じtran_dates)では正しく機能しない可能性があります。この場合、トランザクションを並べ替えるためにいくつかの追加の基準が必要です(最も早く取得するため)

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

解析された配列から最初と最後の日付を取得します

分類Dev

Marklogicで選択した日付の月の最初の日と最後の日の日付を取得します

分類Dev

現在の日付から始まる、毎月の最初と最後の日を取得する

分類Dev

Mysqlは列から最初の日付と最後の日付を取得し、結果として2つの分離された列を作成します

分類Dev

pymongoを使用して最初と最後の日付値を取得する方法

分類Dev

SQL日付範囲の最初の値と最後の値の場所を選択します

分類Dev

mysqlの現在の日付から最後の5日目の日付を取得します

分類Dev

特定の数値月PHPから月の最初と最後の日付を取得する方法

分類Dev

バッチファイルで先月の最初の日付と最後の日付を取得します

分類Dev

JQueryで前月の最初と最後の日付を取得します

分類Dev

結合後の最大日付から値を取得します

分類Dev

参照日の後の列の最初の日付を取得します

分類Dev

JavaScriptで年の最初の日付と最後の日付を取得する方法

分類Dev

Range SelectorHighstockに最初と最後の日付を追加します

分類Dev

日付と最後のtdの間の値を抽出します

分類Dev

SQL-日付範囲の最後の行を取得します

分類Dev

1つの行から最後の2つの最大日付を取得します

分類Dev

同じ日付のテーブルから最後の最初と最後を取得する方法(クエリ)?

分類Dev

日付が指定されたときに、平日の最初と最後の日を取得します

分類Dev

パンダ-日付のリストから、各月の最後の日付を取得します

分類Dev

SQL:連続する各日のグループ内の最初と最後の日付を識別します

分類Dev

前月の最初と最後の日付を取得する

分類Dev

今年の最初と最後の日付を取得する方法

分類Dev

前月の最初と最後の日付を取得する

分類Dev

SQL前週の最初の日の日付を取得します

分類Dev

SQLで各年の最後の日付セットを取得しますか?

分類Dev

先月の最初と最後の日を取得しますか?

分類Dev

SQL Server-最初と最後の(日時による)DataPoints値を取得します

分類Dev

Goで過去3か月の最初と最後の日付を取得する

Related 関連記事

  1. 1

    解析された配列から最初と最後の日付を取得します

  2. 2

    Marklogicで選択した日付の月の最初の日と最後の日の日付を取得します

  3. 3

    現在の日付から始まる、毎月の最初と最後の日を取得する

  4. 4

    Mysqlは列から最初の日付と最後の日付を取得し、結果として2つの分離された列を作成します

  5. 5

    pymongoを使用して最初と最後の日付値を取得する方法

  6. 6

    SQL日付範囲の最初の値と最後の値の場所を選択します

  7. 7

    mysqlの現在の日付から最後の5日目の日付を取得します

  8. 8

    特定の数値月PHPから月の最初と最後の日付を取得する方法

  9. 9

    バッチファイルで先月の最初の日付と最後の日付を取得します

  10. 10

    JQueryで前月の最初と最後の日付を取得します

  11. 11

    結合後の最大日付から値を取得します

  12. 12

    参照日の後の列の最初の日付を取得します

  13. 13

    JavaScriptで年の最初の日付と最後の日付を取得する方法

  14. 14

    Range SelectorHighstockに最初と最後の日付を追加します

  15. 15

    日付と最後のtdの間の値を抽出します

  16. 16

    SQL-日付範囲の最後の行を取得します

  17. 17

    1つの行から最後の2つの最大日付を取得します

  18. 18

    同じ日付のテーブルから最後の最初と最後を取得する方法(クエリ)?

  19. 19

    日付が指定されたときに、平日の最初と最後の日を取得します

  20. 20

    パンダ-日付のリストから、各月の最後の日付を取得します

  21. 21

    SQL:連続する各日のグループ内の最初と最後の日付を識別します

  22. 22

    前月の最初と最後の日付を取得する

  23. 23

    今年の最初と最後の日付を取得する方法

  24. 24

    前月の最初と最後の日付を取得する

  25. 25

    SQL前週の最初の日の日付を取得します

  26. 26

    SQLで各年の最後の日付セットを取得しますか?

  27. 27

    先月の最初と最後の日を取得しますか?

  28. 28

    SQL Server-最初と最後の(日時による)DataPoints値を取得します

  29. 29

    Goで過去3か月の最初と最後の日付を取得する

ホットタグ

アーカイブ