ALTER TABLE nfs_nota_item_cpl ADD COLUMN unidade_medida character varying(2); UPDATE nfs_nota_item_cpl SET unidade_medida = COALESCE((SELECT COALESCE(pro_medida.unidade_venda, pro_produto.unidade) FROM nfs_nota_item JOIN pro_produto ON nfs_nota_item.filial_pro = pro_produto.filial_pro AND nfs_nota_item.produto = pro_produto.codigo LEFT JOIN pro_medida ON pro_medida.filial_pro = pro_produto.filial_pro AND pro_medida.produto = pro_produto.codigo WHERE nfs_nota_item.filial_nota = nfs_nota_item_cpl.filial_nota AND nfs_nota_item.nota = nfs_nota_item_cpl.nota AND nfs_nota_item.serie = nfs_nota_item_cpl.serie AND nfs_nota_item.sequencia = nfs_nota_item_cpl.sequencia), 'UN') WHERE unidade_medida IS NULL; ALTER TABLE nfs_nota_item_cpl ALTER COLUMN unidade_medida SET NOT NULL; ALTER TABLE nfs_aux_nota_item_cpl ADD COLUMN unidade_medida character varying(2); UPDATE nfs_aux_nota_item_cpl SET unidade_medida = COALESCE((SELECT COALESCE(pro_medida.unidade_venda, pro_produto.unidade) FROM nfs_aux_nota_item JOIN pro_produto ON nfs_aux_nota_item.filial_pro = pro_produto.filial_pro AND nfs_aux_nota_item.produto = pro_produto.codigo LEFT JOIN pro_medida ON pro_medida.filial_pro = pro_produto.filial_pro AND pro_medida.produto = pro_produto.codigo WHERE nfs_aux_nota_item.filial_nota = nfs_aux_nota_item_cpl.filial_nota AND nfs_aux_nota_item.nota = nfs_aux_nota_item_cpl.nota AND nfs_aux_nota_item.serie = nfs_aux_nota_item_cpl.serie AND nfs_aux_nota_item.sequencia = nfs_aux_nota_item_cpl.sequencia), 'UN') WHERE unidade_medida IS NULL; ALTER TABLE nfs_aux_nota_item_cpl ALTER COLUMN unidade_medida SET NOT NULL;