我有两张桌子:
CREATE TABLE arapply
(
arapply_id serial NOT NULL,
arapply_postdate date,
arapply_source_docnumber text,
arapply_target_docnumber text,
arapply_target_paid numeric
);
CREATE TABLE aropenbal
(
ar_id integer,
doc_number text,
doc_type text,
doc_date date,
base_amount numeric,
paid_amount numeric,
open_balance numeric
);
对于aropenbal
中的每个条目,我想要arapply.arapply_target_paid
arapply.arapply_source_docnumber = aropenbal.doc_number
(如果aropenbal.doctype
是C或R)或arapply.arapply_target_docnumber = aropenbal.doc_number
(如果{ {1}}不是C或R)AND aropenbal.doctype
。结果应存储到arapply_postdate <= aropenbal.doc_date
。
然后,我希望使用aropenbal.paid_amount
更新aropenbal.open_balance
。
该函数应返回aropenbal.base_amount + aropenbal.paid_amount
的总(SUM)。
我遇到以下代码问题。 FOR循环中的SELECT语句不起作用,除非我手动分配一个值'362'代替r.docnumber。否则,结果为零。
似乎是格式化问题。
任何见解?
aropenbal.open_balance