Atualizar tabela com base em outra
Enviado: 10 Jun 2020 12:45
Este deu trabalho, porque não se trata de apenas um.
Ainda mais chegando emails de erro um atrás do outro.
Parece que deu certo.
Ainda mais chegando emails de erro um atrás do outro.
Parece que deu certo.
Código: Selecionar todos
WITH OBJECT cnSQL
:cSQL := "UPDATE JPPEDIDO" + ;
" JOIN" + ;
;
" ( SELECT SUM( IPISSBAS ) AS ISSBAS, SUM( IPISSVAL ) AS ISSVAL, " + ;
" SUM( IPIIBAS ) AS IIBAS, SUM( IPIIVAL ) AS IIVAL, " + ;
" SUM( IPIPIBAS ) AS IPIBAS, SUM( IPIPIVAL ) AS IPIVAL, " + ;
" SUM( IPICMBAS ) AS ICMBAS, SUM( IPICMVAL ) AS ICMVAL, " + ;
" SUM( IPFCPVAL ) AS FCPVAL, SUM( IPSUBBAS ) AS SUBBAS, " + ;
" SUM( IPSUBVAL ) AS SUBVAL, " + ;
" SUM( IPDIFVALI ) AS DIFVALI, SUM( IPDIFVALF ) AS DIFVALF, " + ;
" SUM( IPPISBAS ) AS PISBAS, SUM( IPPISVAL ) AS PISVAL," + ;
" SUM( IPCOFBAS ) AS COFBAS, SUM( IPCOFVAL ) AS COFVAL," + ;
" SUM( IPVALNOT ) AS VALNOT, SUM( IPICSBAS ) AS ICSBAS," + ;
" SUM( IPICSVAL ) AS ICSVAL, SUM( IPVALADU ) AS VALADU," + ;
" SUM( IPVALIOF ) AS VALIOF, SUM( IPIMPVAL ) AS IMPVAL," + ;
" SUM( IPVALCUS ) AS VALCUS" + ;
" FROM JPITPED" + ;
" WHERE IPPEDIDO = " + NumberSQL( nIdPedido ) + ;
" GROUP BY IPPEDIDO ) AS TEMP" + ;
;
" SET PDISSBAS = TEMP.ISSBAS, PDISSVAL = TEMP.ISSVAL," + ;
" PDIIBAS = TEMP.IIBAS, PDIIVAL = TEMP.IIVAL," + ;
" PDIPIBAS = TEMP.IPIBAS, PDIPIVAL = TEMP.IPIVAL," + ;
" PDICMBAS = TEMP.ICMBAS, PDICMVAL = TEMP.ICMVAL," + ;
" PDFCPVAL = TEMP.FCPVAL, PDSUBBAS = TEMP.SUBVAL," + ;
" PDSUBVAL = TEMP.SUBVAL, PDDIFVALI = TEMP.DIFVALI," + ;
" PDDIFVALF = TEMP.DIFVALF, PDPISBAS = TEMP.PISBAS," + ;
" PDPISVAL = TEMP.PISVAL, PDCOFBAS = TEMP.COFBAS," + ;
" PDCOFVAL = TEMP.COFVAL, PDVALNOT = TEMP.VALNOT," + ;
" PDICSBAS = TEMP.ICSBAS, PDICSVAL = TEMP.ICSVAL," + ;
" PDVALADU = TEMP.VALADU, PDVALIOF = TEMP.VALIOF," + ;
" PDIMPVAL = TEMP.IMPVAL, PDVALCUS = TEMP.VALCUS" + ;
" WHERE JPPEDIDO.IDPEDIDO = " + NumberSQL( nIdPedido )
:ExecuteCmd()