天天看点

PostgreSQL联合查询

多表联合查询

UPDATE contract_contract_file 
SET 
    create_user_name = C.undertake_user_name,
    create_user_account = C.undertake_user_account 
FROM
	contract_contract AS C 
WHERE
	contract_id = C.ID 
AND contract_contract_file.TYPE = 1
           

单表联合查询

UPDATE contract_contract_file AS newFile 
SET old_file_id = oldFile."id" 
FROM
	contract_contract_file AS oldFile 
WHERE
	newFile.contract_id = '24bf51b33bbe4aa4a2f15166f7733622' 
	AND oldFile.contract_id = '24bf51b33bbe4aa4a2f15166f7733622' 
	AND newFile.TYPE IN ( '1', '2' ) 
	AND oldFile.TYPE IN ( '99' ) 
	AND REPLACE ( newFile.file_name, '.pdf', '' ) = REPLACE ( oldFile.file_name, '.docx', '' );