【发布时间】:2020-01-07 07:10:03
【问题描述】:
我有两个表,即 loan_details 和 loan_his_mapping 与 1:N 关系。我需要通过 loan_his_mapping 表中每个贷款的值来设置 loan_details 表的 hhf_request_id。
由于关系是 1:N ,我想考虑 loan_his_mapping 表中每笔贷款的记录,并具有以下两个条件。表定义如下:
CREATE TABLE public.loan_details
(
loan_number bigint NOT NULL,
hhf_lob integer,
hhf_request_id integer,
status character varying(100),
CONSTRAINT loan_details_pkey PRIMARY KEY (loan_number)
);
CREATE TABLE public.loan_his_mapping
(
loan_number bigint NOT NULL,
spoc_id integer NOT NULL,
assigned_datetime timestamp without time zone,
loan_spoc_map_id bigint NOT NULL,
line_of_business_id integer,
request_id bigint,
CONSTRAINT loan_spoc_his_map_id PRIMARY KEY (loan_spoc_map_id),
CONSTRAINT fk_loan_spoc_loan_number_his FOREIGN KEY (loan_number)
REFERENCES public.loan_details (loan_number) MATCH SIMPLE
ON UPDATE NO ACTION ON DELETE NO ACTION );
更新时的加入条件为:
- hhf_lob = 4和status='Release'的loan_details记录
- 我应该考虑使用该记录来更新
loan_his_mapping表中的“N”条记录中的值,每笔贷款的值为 max(loan_spoc_map_id)。
我现在的查询
update lsa_loan_details ldet
set hhf_request_id = history.request_id
from loan_his_mapping history
where ldet.loan_number = history.loan_number and ldet.status='Release' and ldet.hhf_lob=4 and
history.line_of_business_id=4 ;
我想知道如何使用 loan_his_mapping 和 max(loan_spoc_map_id) 的每笔贷款的记录来更新 loan_details 的列强>表。请帮忙!
【问题讨论】:
-
您使用的是什么 DBMS?这样的
UPDATE可能在很大程度上依赖于 DBMS。 Edit问题并添加适当的标签。 -
它的 PostgreSQL 9.6.11
-
你们清楚我的要求了吗?请帮忙!!
标签: sql postgresql sql-update