Clipper On Line • Ver Tópico - Retorno conforme situação

Retorno conforme situação

Discussão sobre SQL

Moderador: Moderadores

 

Retorno conforme situação

Mensagempor JoséQuintas » 01 Jul 2020 16:22

Ainda não testei, é um dos que fui deixando pra depois.
O boleto pode ser direto para o cliente, ou para um "ciente do cliente".

      WITH OBJECT cnSQL
         :cSQL := "SELECT IDFINAN, FINUMBAN, FIDATEMI, FICADASTRO, FISACADO, FIPARCELA, FIDATVEN," + ;
            " FIVALOR, FIDOCAUX, FIDATVEN, JPCADASTRO.CDNOME AS CADNOME," + ;
            " JPCADASTRO.CDCNPJ AS CADCNPJ, SACADO.CDCNPJ AS SACCNPJ," + ;
            " IF( FISACADO = 0, JPCADASTRO.CDCNPJ, SACADO.CNPJ ) AS DOCCNPJ," + ;
            " IF( FISACADO = 0, JPCADASTRO.CDNOME, SACADO.CDNOME ) AS DOCNOME," + ;
            " IF( FISACADO = 0, CONCAT_WS( JPCADASTRO.CDENDCOB, JPCADASTRO.CDNUMCOB, JPCADASTRO.CDCOMCOB ), " + ;
            " CONCAT_WS( SACADO.CDENDCOB, SACADO.CDNUMCOB, SACADO.CDCOMCOB ) ) AS DOCENDERECO," + ;
            " IF( FISACADO = 0, JPCADASTRO.CDBAICOB, SACADO.BAICOB ) AS DOCBAIRRO," + ;
            " IF( FISACADO = 0, JPCADASTRO.CDCEPCOB, SACADO.CEPCOB ) AS DOCCEP," + ;
            " IF( FISACADO = 0, JPCADASTRO.CDUFCOB, SACADO.UFCOB ) AS DOCUF," + ;
            " FROM JPFINAN" + ;
            " LEFT JOIN JPCADASTRO ON JPCADASTRO.IDCADASTRO = JPFINAN.FICADASTRO" + ;
            " LEFT JOIN JPAUXILIAR ON JPTAUXILIAR.AXTABELA = " + StringSQL( AUX_FINPOR ) + " AND AXCODIGO = JPCADASTRO.CDPORTADOR" + ;
            " LEFT JOIN JPCADASTRO AS SACADO ON SACADO.IDCADASTRO = JPFINAN.FICADASTRO" + ;
            " WHERE FIPEDIDO = " + NumberSQL( nIdPedido ) + " AND FITIPLAN = '1'"
         :Execute()


Pra facilitar na definição de nomes, usei DOCxxxx para definir os campos que saem no documento, que podem ser de um ou de outro.
José M. C. Quintas
Harbour 3.2, mingw, gtwvg, multithread, dbfcdx, ADO+MySql, PNotepad
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"

https://github.com/JoseQuintas/
Avatar de usuário

JoséQuintas
Membro Master

Membro Master
 
Mensagens: 18013
Data de registro: 26 Fev 2007 11:59
Cidade/Estado: São Paulo-SP
Curtiu: 15 vezes
Mens.Curtidas: 1206 vezes

Retorno conforme situação

Mensagempor JoséQuintas » 01 Jul 2020 16:27

Só comentário adicional:

Adotei colocar o espaço em branco no início da string.
É que precisa espaço entre as palavras do comando.
Colocando no final da string, passavam muitos faltando espaço, mas colocando no início, fica bem visível se esquecer em algum.

E também adotei separar linhas em:

SELECT
FROM
LEFT JOIN
WHERE
GROUP BY
HAVING

justamente porque facilita identificar cada parte.
José M. C. Quintas
Harbour 3.2, mingw, gtwvg, multithread, dbfcdx, ADO+MySql, PNotepad
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"

https://github.com/JoseQuintas/
Avatar de usuário

JoséQuintas
Membro Master

Membro Master
 
Mensagens: 18013
Data de registro: 26 Fev 2007 11:59
Cidade/Estado: São Paulo-SP
Curtiu: 15 vezes
Mens.Curtidas: 1206 vezes




Retornar para SQL

Quem está online

Usuários vendo este fórum: Nenhum usuário registrado online e 5 visitantes


Ola Amigo, espero que meu site e forum tem lhe beneficiado, com exemplos e dicas de programacao.
Entao divulgue o link da Doacao abaixo para seus amigos e redes sociais ou faça uma doacao para o site forum...
MUITO OBRIGADO PELA SUA DOACAO!
Faça uma doação para o forum
cron
v
Olá visitante, seja bem-vindo ao Fórum Clipper On Line!
Efetue o seu login ou faça o seu Registro