Ficou assim
Código: Selecionar todos
:Execute( "SELECT ESDATLAN, ESQTDE, IEANP, CDCNPJ, CDINSEST, CDUF," + ;
" PDPEDCLI, NFNOTFIS, IPCFOP, NFPLACA, TPCNPJ" + ;
" FROM JPESTOQUE" + ;
" LEFT JOIN JPPEDIDO ON ESPEDIDO=IDPEDIDO" + ;
" LEFT JOIN JPCADASTRO ON ESCADASTRO=IDCADASTRO" + ;
" LEFT JOIN JPITEM ON ESPRODUTO=IDPRODUTO" + ;
Na parte acima, vinculado diretamente, porque são únicos
Código: Selecionar todos
" LEFT JOIN JPITPED ON IDPEDIDO=IPPEDIDO AND ESPRODUTO=IPPRODUTO" + ;
" LEFT JOIN JPNOTFIS ON IDPEDIDO=NFPEDIDO" + ;
Com produtos de pedidos, misto, porque depende de ter encontrado pedido único
E com nota fiscal pelo pedido único
E por último a transportadora da NF com cadastro de transportadoras e SE encontrar nf.
E alguns com INNER JOIN, outros com LEFT JOIN
Por exemplo, nota de fornecedor não vai existir nas notas emitidas, INNER JOIN sumiria com os lançamentos de fornecedor.
Pois é, pediu certo vém certo, pediu errado.... dá até falta de memória no servidor.
Pra curiosidade:
O servidor continua lá, firme e forte, o erro de memória de uma consulta não atrapalhou o resto, e já está como se nada tivesse acontecido.
Num servidor de site deve ter muito mais precaução do que no meu, então, tranquilo errar...