このクエリを使用すると、
select
receipt_num, trx_num,
(case when receipt_amount > 5000 then '1' else 'null') as stamp_value,receipt_amount
from ra_customer_all where receipt_amount > 5000;
次のような出力が得られます。
receipt_num trx_num stamp_value receipt_amount
23679 sf35fd 1 5400
23679 sdf2424 1 5400
23679 rer434 1 5400
987444 dgd343 1 98432
7610 sdf23 1 6756
7610 dfg242 1 6756
しかし、出力を次のようにしたい:
receipt_num trx_num stamp_value receipt_amount
23679 sf35fd 1 5400
23679 sdf2424 null 5400
23679 rer434 null 5400
987444 dgd343 1 98432
7610 sdf23 1 6756
7610 dfg242 null 6756
レシート番号が 5000 を超える場合、スタンプ値は 1 回だけ印刷する必要があります。
(*1 つのレシートに 1 つ以上の trx_num が含まれる場合があります*)
これで私を助けてください。
select
acra.attribute6 office_code,
acra.attribute5 collection_number,
acra.receipt_number instrument_number,
acra.receipt_date collection_date,
acra.amount collected_amount,
ac.customer_name,
rcta.trx_number ,
(case row_number() over (partition by acra.receipt_number order by rcta.trx_number) when acra.amount > 5000 then '1' else 'NULL' end) stamp_value,
from
ar_cash_receipts_all acra,
ar_customers ac,
ra_customer_trx_all rcta,
ar_receivable_applications_all araa
where
acra.pay_from_customer=ac.customer_id and
acra.cash_receipt_id = araa.cash_receipt_id and
araa.applied_customer_trx_id=rcta.customer_trx_id
and acra.amount > 5000
わかりました、パーティションを追加した結合クエリを更新しますが、欠落しているキーワードとしてエラーが発生します.誰かがこれを編集して目的の出力を得ることができますか?