 |
ActiveDelphi .: O site do programador Delphi! :.
|
Exibir mensagem anterior :: Exibir próxima mensagem |
Autor |
Mensagem |
adriano_servitec Colaborador

Registrado: Sexta-Feira, 30 de Janeiro de 2004 Mensagens: 17618
|
Enviada: Sex Mar 08, 2019 11:48 am Assunto: |
|
|
Eu não estou conseguindo filtrar 'Integração Boleto Fácil' no select
Se eu fizer assim
Código: | SELECT
FC.BB_CODE,
FC.CODIGO CODIGO_BOLETO,
FC.DESCRICAO,
FC.BOLETO_SEU_NUMERO,
FC.CODIGO_CLIENTE,
CL.NOME_BOLETO,
FC.DATA_QUITACAO AS DTA_PGTO_BOLETO,
FC.DATA_VENCIMENTO AS DTA_VENC_BOLETO,
HNG.DATA_EMISSAO_NOTA,
FC.SITUACAO,
CL.CNPJ,
FC.VALOR AS VLR_LANC_BOLETO,
HNG.VALOR_BASE_NOTA AS VALOR_NOTA,
HNG.NUMERO_NOTA AS NUMERO_NOTA,
CASE
cl.tipo_pagamento
WHEN
'Integração Boleto Fácil'
THEN
fc.BOLETO_VALOR_PAGO - 1.95
ELSE
fc.BOLETO_VALOR_PAGO
END
BOLETO_VALOR_PAGO,
CASE
WHEN
(FC.DATA_VENCIMENTO >= '10.02.2019') AND
(FC.BOLETO_NOSSO_NUMERO IS NULL) AND
(FC.BB_CODE IS NOT NULL) THEN
'Integração Boleto Fácil'
ELSE
cl.tipo_pagamento
END
tipo_pagamento
FROM
FINANCEIRO_CONTAS FC
LEFT JOIN
HISTORICO_NOTAS_GERADAS HNG
ON ( hng.id = fc.id_historico )
LEFT JOIN
CLIENTE CL
ON ( CL.CODIGO = FC.CODIGO_CLIENTE )
WHERE
(cl.tipo_pagamento in('Boleto','Integração Boleto Fácil') or cl.tipo_pagamento is null)
and FC.data_quitacao BETWEEN :d1 and :d2
and (((FC.BB_CODE IS NOT NULL and fc.boleto_nosso_numero is null) or cl.tipo_pagamento is null) or
((FC.BB_CODE IS NULL and fc.boleto_nosso_numero is not null) or cl.tipo_pagamento is null))
ORDER BY
tipo_pagamento desc, 5, 6 |
Aparece todos que eu preciso
Mais se eu fizer assim
Código: | SELECT
FC.BB_CODE,
FC.CODIGO CODIGO_BOLETO,
FC.DESCRICAO,
FC.BOLETO_SEU_NUMERO,
FC.CODIGO_CLIENTE,
CL.NOME_BOLETO,
FC.DATA_QUITACAO AS DTA_PGTO_BOLETO,
FC.DATA_VENCIMENTO AS DTA_VENC_BOLETO,
HNG.DATA_EMISSAO_NOTA,
FC.SITUACAO,
CL.CNPJ,
FC.VALOR AS VLR_LANC_BOLETO,
HNG.VALOR_BASE_NOTA AS VALOR_NOTA,
HNG.NUMERO_NOTA AS NUMERO_NOTA,
CASE
cl.tipo_pagamento
WHEN
'Integração Boleto Fácil'
THEN
fc.BOLETO_VALOR_PAGO - 1.95
ELSE
fc.BOLETO_VALOR_PAGO
END
BOLETO_VALOR_PAGO,
CASE
WHEN
(FC.DATA_VENCIMENTO >= '10.02.2019') AND
(FC.BOLETO_NOSSO_NUMERO IS NULL) AND
(FC.BB_CODE IS NOT NULL) THEN
'Integração Boleto Fácil'
ELSE
cl.tipo_pagamento
END
tipo_pagamento
FROM
FINANCEIRO_CONTAS FC
LEFT JOIN
HISTORICO_NOTAS_GERADAS HNG
ON ( hng.id = fc.id_historico )
LEFT JOIN
CLIENTE CL
ON ( CL.CODIGO = FC.CODIGO_CLIENTE )
WHERE
(cl.tipo_pagamento in('Integração Boleto Fácil') or cl.tipo_pagamento is null)
and FC.data_quitacao BETWEEN :d1 and :d2
and (((FC.BB_CODE IS NOT NULL and fc.boleto_nosso_numero is null) or cl.tipo_pagamento is null) or
((FC.BB_CODE IS NULL and fc.boleto_nosso_numero is not null) or cl.tipo_pagamento is null))
ORDER BY
tipo_pagamento desc, 5, 6 |
Só vem os null e não os Integrraçao boleto facil
Preciso trazer o que esta no IN + os null e não estou conseguindo. _________________ Jogo seu smartphone? Acesse o link e confira.
https://play.google.com/store/apps/details?id=br.com.couldsys.rockdrum
https://play.google.com/store/apps/details?id=br.com.couldsys.drumsetfree |
|
Voltar ao Topo |
|
 |
imex Moderador

Registrado: Sexta-Feira, 7 de Janeiro de 2011 Mensagens: 11666
|
Enviada: Sex Mar 08, 2019 2:37 pm Assunto: |
|
|
Existem registros com o campo tipo_pagamento da tabela Cliente igual a 'Integração Boleto Fácil' ou seriam os registros em que esse Case abaixo retorna 'Integração Boleto Fácil'?
Código: | CASE
WHEN
(FC.DATA_VENCIMENTO >= '10.02.2019') AND
(FC.BOLETO_NOSSO_NUMERO IS NULL) AND
(FC.BB_CODE IS NOT NULL) THEN
'Integração Boleto Fácil'
ELSE
cl.tipo_pagamento
END
tipo_pagamento |
Uma alternativa para obter os registros em que esse Case retorna 'Integração Boleto Fácil' seria utilizar as mesmas condições do Case no Where.
Espero que ajude |
|
Voltar ao Topo |
|
 |
adriano_servitec Colaborador

Registrado: Sexta-Feira, 30 de Janeiro de 2004 Mensagens: 17618
|
Enviada: Sex Mar 08, 2019 3:34 pm Assunto: |
|
|
Imex meu select deve ficar assim?
Código: | SELECT
FC.BB_CODE,
FC.CODIGO CODIGO_BOLETO,
FC.DESCRICAO,
FC.BOLETO_SEU_NUMERO,
FC.CODIGO_CLIENTE,
CL.NOME_BOLETO,
FC.DATA_QUITACAO AS DTA_PGTO_BOLETO,
FC.DATA_VENCIMENTO AS DTA_VENC_BOLETO,
HNG.DATA_EMISSAO_NOTA,
FC.SITUACAO,
CL.CNPJ,
FC.VALOR AS VLR_LANC_BOLETO,
HNG.VALOR_BASE_NOTA AS VALOR_NOTA,
HNG.NUMERO_NOTA AS NUMERO_NOTA,
CASE
WHEN
(FC.DATA_VENCIMENTO >= '10.02.2019') AND
(FC.BOLETO_NOSSO_NUMERO IS NULL) AND
(FC.BB_CODE IS NOT NULL) AND
(tipo_pagamento = 'Integração Boleto Fácil')
THEN
fc.BOLETO_VALOR_PAGO - 1.95
ELSE
fc.BOLETO_VALOR_PAGO
END
BOLETO_VALOR_PAGO,
CASE
WHEN
(FC.DATA_VENCIMENTO >= '10.02.2019') AND
(FC.BOLETO_NOSSO_NUMERO IS NULL) AND
(FC.BB_CODE IS NOT NULL) AND
(cl.tipo_pagamento = 'Integração Boleto Fácil') THEN
'Integração Boleto Fácil'
ELSE
cl.tipo_pagamento
END
tipo_pagamento
FROM
FINANCEIRO_CONTAS FC
LEFT JOIN
HISTORICO_NOTAS_GERADAS HNG
ON ( hng.id = fc.id_historico )
LEFT JOIN
CLIENTE CL
ON ( CL.CODIGO = FC.CODIGO_CLIENTE )
WHERE
(cl.tipo_pagamento in('Integração Boleto Fácil', 'Boleto') or cl.tipo_pagamento is null)
and FC.data_quitacao BETWEEN :d1 and :d2
and ( (
(FC.BOLETO_NOSSO_NUMERO IS NULL) AND
(FC.BB_CODE IS NOT NULL) AND
(cl.tipo_pagamento = 'Integração Boleto Fácil')
or cl.tipo_pagamento is null)
or
(
(FC.BOLETO_NOSSO_NUMERO IS NOT NULL) AND
(FC.BB_CODE IS NULL) AND
(cl.tipo_pagamento <> 'Integração Boleto Fácil')
or cl.tipo_pagamento is null )
)
ORDER BY
tipo_pagamento desc, 5, 6 |
_________________ Jogo seu smartphone? Acesse o link e confira.
https://play.google.com/store/apps/details?id=br.com.couldsys.rockdrum
https://play.google.com/store/apps/details?id=br.com.couldsys.drumsetfree |
|
Voltar ao Topo |
|
 |
imex Moderador

Registrado: Sexta-Feira, 7 de Janeiro de 2011 Mensagens: 11666
|
Enviada: Sex Mar 08, 2019 4:14 pm Assunto: |
|
|
Existem registros com o campo tipo_pagamento da tabela Cliente igual a 'Integração Boleto Fácil'?
Você precisa filtrar apenas por tipo de pagamento e data da quitação? Ou tem mais algum filtro? |
|
Voltar ao Topo |
|
 |
adriano_servitec Colaborador

Registrado: Sexta-Feira, 30 de Janeiro de 2004 Mensagens: 17618
|
|
Voltar ao Topo |
|
 |
imex Moderador

Registrado: Sexta-Feira, 7 de Janeiro de 2011 Mensagens: 11666
|
Enviada: Sex Mar 08, 2019 5:26 pm Assunto: |
|
|
Experimente fazer uns testes mais ou menos dessa forma:
Código: | select * from
(
SELECT
FC.BB_CODE,
FC.CODIGO CODIGO_BOLETO,
FC.DESCRICAO,
FC.BOLETO_SEU_NUMERO,
FC.CODIGO_CLIENTE,
CL.NOME_BOLETO,
FC.DATA_QUITACAO AS DTA_PGTO_BOLETO,
FC.DATA_VENCIMENTO AS DTA_VENC_BOLETO,
HNG.DATA_EMISSAO_NOTA,
FC.SITUACAO,
CL.CNPJ,
FC.VALOR AS VLR_LANC_BOLETO,
HNG.VALOR_BASE_NOTA AS VALOR_NOTA,
HNG.NUMERO_NOTA AS NUMERO_NOTA,
CASE
cl.tipo_pagamento
WHEN
'Integração Boleto Fácil'
THEN
fc.BOLETO_VALOR_PAGO - 1.95
ELSE
fc.BOLETO_VALOR_PAGO
END
BOLETO_VALOR_PAGO,
CASE
WHEN
(FC.DATA_VENCIMENTO >= '10.02.2019') AND
(FC.BOLETO_NOSSO_NUMERO IS NULL) AND
(FC.BB_CODE IS NOT NULL) THEN
'Integração Boleto Fácil'
ELSE
cl.tipo_pagamento
END
tipo_pagamento
FROM
FINANCEIRO_CONTAS FC
LEFT JOIN
HISTORICO_NOTAS_GERADAS HNG
ON ( hng.id = fc.id_historico )
LEFT JOIN
CLIENTE CL
ON ( CL.CODIGO = FC.CODIGO_CLIENTE )
WHERE
FC.data_quitacao BETWEEN :d1 and :d2
) as t
WHERE
(cl.tipo_pagamento in('Boleto','Integração Boleto Fácil') or cl.tipo_pagamento is null)
ORDER BY
tipo_pagamento desc, 5, 6 |
Espero que ajude |
|
Voltar ao Topo |
|
 |
adriano_servitec Colaborador

Registrado: Sexta-Feira, 30 de Janeiro de 2004 Mensagens: 17618
|
Enviada: Sex Mar 08, 2019 6:13 pm Assunto: |
|
|
imex escreveu: | Experimente fazer uns testes mais ou menos dessa forma:
Código: | select * from
(
SELECT
FC.BB_CODE,
FC.CODIGO CODIGO_BOLETO,
FC.DESCRICAO,
FC.BOLETO_SEU_NUMERO,
FC.CODIGO_CLIENTE,
CL.NOME_BOLETO,
FC.DATA_QUITACAO AS DTA_PGTO_BOLETO,
FC.DATA_VENCIMENTO AS DTA_VENC_BOLETO,
HNG.DATA_EMISSAO_NOTA,
FC.SITUACAO,
CL.CNPJ,
FC.VALOR AS VLR_LANC_BOLETO,
HNG.VALOR_BASE_NOTA AS VALOR_NOTA,
HNG.NUMERO_NOTA AS NUMERO_NOTA,
CASE
cl.tipo_pagamento
WHEN
'Integração Boleto Fácil'
THEN
fc.BOLETO_VALOR_PAGO - 1.95
ELSE
fc.BOLETO_VALOR_PAGO
END
BOLETO_VALOR_PAGO,
CASE
WHEN
(FC.DATA_VENCIMENTO >= '10.02.2019') AND
(FC.BOLETO_NOSSO_NUMERO IS NULL) AND
(FC.BB_CODE IS NOT NULL) THEN
'Integração Boleto Fácil'
ELSE
cl.tipo_pagamento
END
tipo_pagamento
FROM
FINANCEIRO_CONTAS FC
LEFT JOIN
HISTORICO_NOTAS_GERADAS HNG
ON ( hng.id = fc.id_historico )
LEFT JOIN
CLIENTE CL
ON ( CL.CODIGO = FC.CODIGO_CLIENTE )
WHERE
FC.data_quitacao BETWEEN :d1 and :d2
) as t
WHERE
(cl.tipo_pagamento in('Boleto','Integração Boleto Fácil') or cl.tipo_pagamento is null)
ORDER BY
tipo_pagamento desc, 5, 6 |
Espero que ajude |
Deu erro no ultimo where Imex
Citação: | Dynamic SQL Error.
SQL error code = -206.
Column unknown.
CL.TIPO_PAGAMENTO.
At line 53, column 7. |
_________________ Jogo seu smartphone? Acesse o link e confira.
https://play.google.com/store/apps/details?id=br.com.couldsys.rockdrum
https://play.google.com/store/apps/details?id=br.com.couldsys.drumsetfree |
|
Voltar ao Topo |
|
 |
imex Moderador

Registrado: Sexta-Feira, 7 de Janeiro de 2011 Mensagens: 11666
|
Enviada: Sex Mar 08, 2019 7:43 pm Assunto: |
|
|
Experimente trocar o alias CL por T ou simplesmente remova o alias CL.
Espero que ajude |
|
Voltar ao Topo |
|
 |
adriano_servitec Colaborador

Registrado: Sexta-Feira, 30 de Janeiro de 2004 Mensagens: 17618
|
|
Voltar ao Topo |
|
 |
imex Moderador

Registrado: Sexta-Feira, 7 de Janeiro de 2011 Mensagens: 11666
|
Enviada: Seg Mar 11, 2019 9:20 am Assunto: |
|
|
Experimente dessa forma:
Código: | SELECT
FC.BB_CODE,
FC.CODIGO CODIGO_BOLETO,
FC.DESCRICAO,
FC.BOLETO_SEU_NUMERO,
FC.CODIGO_CLIENTE,
CL.NOME_BOLETO,
FC.DATA_QUITACAO AS DTA_PGTO_BOLETO,
FC.DATA_VENCIMENTO AS DTA_VENC_BOLETO,
HNG.DATA_EMISSAO_NOTA,
FC.SITUACAO,
CL.CNPJ,
FC.VALOR AS VLR_LANC_BOLETO,
HNG.VALOR_BASE_NOTA AS VALOR_NOTA,
HNG.NUMERO_NOTA AS NUMERO_NOTA,
CASE
cl.tipo_pagamento
WHEN
'Integração Boleto Fácil'
THEN
fc.BOLETO_VALOR_PAGO - 1.95
ELSE
fc.BOLETO_VALOR_PAGO
END
BOLETO_VALOR_PAGO,
CASE
WHEN
(FC.DATA_VENCIMENTO >= '10.02.2019') AND
(FC.BOLETO_NOSSO_NUMERO IS NULL) AND
(FC.BB_CODE IS NOT NULL) THEN
'Integração Boleto Fácil'
ELSE
cl.tipo_pagamento
END
tipo_pagamento
FROM
FINANCEIRO_CONTAS FC
LEFT JOIN
HISTORICO_NOTAS_GERADAS HNG
ON ( hng.id = fc.id_historico )
LEFT JOIN
CLIENTE CL
ON ( CL.CODIGO = FC.CODIGO_CLIENTE )
WHERE
(
CASE
WHEN
(FC.DATA_VENCIMENTO >= '10.02.2019') AND
(FC.BOLETO_NOSSO_NUMERO IS NULL) AND
(FC.BB_CODE IS NOT NULL) THEN
'Integração Boleto Fácil'
ELSE
cl.tipo_pagamento
END in ('Integração Boleto Fácil')
or cl.tipo_pagamento is null
)
and FC.data_quitacao BETWEEN :d1 and :d2
ORDER BY
tipo_pagamento desc, 5, 6 |
Espero que ajude |
|
Voltar ao Topo |
|
 |
adriano_servitec Colaborador

Registrado: Sexta-Feira, 30 de Janeiro de 2004 Mensagens: 17618
|
Enviada: Seg Mar 11, 2019 10:14 am Assunto: |
|
|
imex escreveu: | Experimente dessa forma:
Código: | SELECT
FC.BB_CODE,
FC.CODIGO CODIGO_BOLETO,
FC.DESCRICAO,
FC.BOLETO_SEU_NUMERO,
FC.CODIGO_CLIENTE,
CL.NOME_BOLETO,
FC.DATA_QUITACAO AS DTA_PGTO_BOLETO,
FC.DATA_VENCIMENTO AS DTA_VENC_BOLETO,
HNG.DATA_EMISSAO_NOTA,
FC.SITUACAO,
CL.CNPJ,
FC.VALOR AS VLR_LANC_BOLETO,
HNG.VALOR_BASE_NOTA AS VALOR_NOTA,
HNG.NUMERO_NOTA AS NUMERO_NOTA,
CASE
cl.tipo_pagamento
WHEN
'Integração Boleto Fácil'
THEN
fc.BOLETO_VALOR_PAGO - 1.95
ELSE
fc.BOLETO_VALOR_PAGO
END
BOLETO_VALOR_PAGO,
CASE
WHEN
(FC.DATA_VENCIMENTO >= '10.02.2019') AND
(FC.BOLETO_NOSSO_NUMERO IS NULL) AND
(FC.BB_CODE IS NOT NULL) THEN
'Integração Boleto Fácil'
ELSE
cl.tipo_pagamento
END
tipo_pagamento
FROM
FINANCEIRO_CONTAS FC
LEFT JOIN
HISTORICO_NOTAS_GERADAS HNG
ON ( hng.id = fc.id_historico )
LEFT JOIN
CLIENTE CL
ON ( CL.CODIGO = FC.CODIGO_CLIENTE )
WHERE
(
CASE
WHEN
(FC.DATA_VENCIMENTO >= '10.02.2019') AND
(FC.BOLETO_NOSSO_NUMERO IS NULL) AND
(FC.BB_CODE IS NOT NULL) THEN
'Integração Boleto Fácil'
ELSE
cl.tipo_pagamento
END in ('Integração Boleto Fácil')
or cl.tipo_pagamento is null
)
and FC.data_quitacao BETWEEN :d1 and :d2
ORDER BY
tipo_pagamento desc, 5, 6 |
Espero que ajude | Ajudou sim Imex, muito obrigado. _________________ Jogo seu smartphone? Acesse o link e confira.
https://play.google.com/store/apps/details?id=br.com.couldsys.rockdrum
https://play.google.com/store/apps/details?id=br.com.couldsys.drumsetfree |
|
Voltar ao Topo |
|
 |
|
|
Enviar Mensagens Novas: Proibido. Responder Tópicos Proibido Editar Mensagens: Proibido. Excluir Mensagens: Proibido. Votar em Enquetes: Proibido.
|
|