Fórum Ajuda com SQL select dentro de select #601751

11/04/2019

0

SQL

POR FAVOR PODEM ME AJUDAR COM UM SELECT? TO FAZENDO COM BANCO FIREBIRD, NO IBEXPERT,

SELECT SUM (R.rec_vrliq - R.rec_vrpago) AS VR_BOLETO_1 FROM receber R WHERE R.rec_tipo = 22 AND R.rec_quitado = "N"
UNION
SELECT SUM (R.rec_vrliq - R.rec_vrpago) AS VR_BOLETO_3 FROM receber R WHERE R.rec_tipo = 23 AND R.rec_quitado = "N"

SERIA MAIS OU MENOS ISSO, MAS ASSIM SAI UM VALOR EM BAIXO DO OUTRO E NAO DETALHA QUAL É BOLETO 1 E QUAL É BOLETO 3, EU PRECISO QUE SAIA ESSES DOIS SELECTS EM DUAS COLUNAS COM OS RESPECTIVOS NOMES
Gustavo Baracca

Gustavo Baracca

Responder

Post mais votado

11/04/2019

Eu fiz o código ve se ajuda

SELECT SUM (R.rec_vrliq - R.rec_vrpago) AS VR_BOLETO_1, 'Boleto1' as duplicatas from boletos R
WHERE R.rec_tipo = 22 AND R.rec_quitado = 'N'
UNION
SELECT SUM (R.rec_vrliq - R.rec_vrpago) AS VR_BOLETO_3, 'Boleto3' as duplicatas
from boletos R WHERE R.rec_tipo = 23 AND R.rec_quitado = 'N'

depois manda uma mensagem dizendo se deu certo blz.

Ricardo Araujo

Ricardo Araujo
Responder

Gostei + 1

Mais Posts

11/04/2019

Erich

POR FAVOR PODEM ME AJUDAR COM UM SELECT? TO FAZENDO COM BANCO FIREBIRD, NO IBEXPERT,

SELECT SUM (R.rec_vrliq - R.rec_vrpago) AS VR_BOLETO_1 FROM receber R WHERE R.rec_tipo = 22 AND R.rec_quitado = "N"
UNION
SELECT SUM (R.rec_vrliq - R.rec_vrpago) AS VR_BOLETO_3 FROM receber R WHERE R.rec_tipo = 23 AND R.rec_quitado = "N"

SERIA MAIS OU MENOS ISSO, MAS ASSIM SAI UM VALOR EM BAIXO DO OUTRO E NAO DETALHA QUAL É BOLETO 1 E QUAL É BOLETO 3, EU PRECISO QUE SAIA ESSES DOIS SELECTS EM DUAS COLUNAS COM OS RESPECTIVOS NOMES

Boa tarde amigo, não entendi, pode explicar melhor qual a finalidade do seu Select?
Responder

Gostei + 0

12/04/2019

Gustavo Baracca

Eu fiz o código ve se ajuda

SELECT SUM (R.rec_vrliq - R.rec_vrpago) AS VR_BOLETO_1, 'Boleto1' as duplicatas from boletos R
WHERE R.rec_tipo = 22 AND R.rec_quitado = 'N'
UNION
SELECT SUM (R.rec_vrliq - R.rec_vrpago) AS VR_BOLETO_3, 'Boleto3' as duplicatas
from boletos R WHERE R.rec_tipo = 23 AND R.rec_quitado = 'N'

depois manda uma mensagem dizendo se deu certo blz.


ME AJUDOU MUITO, JA TENHO AS INFORMAÇÕES QUE PRECISO, POREM NAO FICOU DO JEITO QUE EU GOSTARIA, VOU TENTAR EXPLICAR MELHOR PRA VER SE VCS ME AJUDAM
Responder

Gostei + 0

12/04/2019

Emerson Nascimento

Tente assim:
SELECT
	SUM(CASE WHEN R.rec_tipo = 22 THEN (R.rec_vrliq - R.rec_vrpago) ELSE 0 END) AS VR_BOLETO_1,
	SUM(CASE WHEN R.rec_tipo = 23 THEN (R.rec_vrliq - R.rec_vrpago) ELSE 0 END) AS VR_BOLETO_3
FROM
	receber R
WHERE
	R.rec_quitado = "N"

Responder

Gostei + 1

12/04/2019

Gustavo Baracca

PERFEITO ERA EXATAMENTE ISSO, MUITO OBRIGADO
Responder

Gostei + 0

12/04/2019

Gustavo Baracca

EU REFIZ O SELECT CONFORME VOCE ME AJUDOU, E ADICIONEI UM FILTRO DE DATA,
TERIA COMO CONSTRUIR UM FILTRO PELO NOME DA COBRANCA?

TIPO SELECIONO "BOLETO" SAI SÓ AS COBRANCAS QUE É BOLETO, SELECIONO "CARTAO" SAI SÓ AS COBRANCAS DE CARTÃO

SELECT
--BOLETO
SUM(CASE WHEN R.rec_tipo = 22 THEN (R.rec_vrliq - R.rec_vrpago) ELSE 0 END) AS BOLETO_1,
SUM(CASE WHEN R.rec_tipo = 24 THEN (R.rec_vrliq - R.rec_vrpago) ELSE 0 END) AS BOLETO_3,
SUM(CASE WHEN R.rec_tipo = 154 THEN (R.rec_vrliq - R.rec_vrpago) ELSE 0 END) AS BOLETO_FC_1,
SUM(CASE WHEN R.rec_tipo = 155 THEN (R.rec_vrliq - R.rec_vrpago) ELSE 0 END) AS BOLETO_FC_3,
SUM(CASE WHEN R.rec_tipo = 53 THEN (R.rec_vrliq - R.rec_vrpago) ELSE 0 END) AS BOLETO_MANUAL_1,
SUM(CASE WHEN R.rec_tipo = 54 THEN (R.rec_vrliq - R.rec_vrpago) ELSE 0 END) AS BOLETO_MANUAL_3,
SUM(CASE WHEN R.rec_tipo = 156 THEN (R.rec_vrliq - R.rec_vrpago) ELSE 0 END) AS BOLETO_MANUAL_FC_1,
SUM(CASE WHEN R.rec_tipo = 157 THEN (R.rec_vrliq - R.rec_vrpago) ELSE 0 END) AS BOLETO_MANUAL_FC_3,
--CARTAO
SUM(CASE WHEN R.rec_tipo = 32 THEN (R.rec_vrliq - R.rec_vrpago) ELSE 0 END) AS CARTAO_1,
SUM(CASE WHEN R.rec_tipo = 102 THEN (R.rec_vrliq - R.rec_vrpago) ELSE 0 END) AS CARTAO_FC_1
FROM
receber R
WHERE
R.rec_quitado = 'N'
AND R.rec_vencimento BETWEEN :DTINI AND :DTFIM

Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar