Problema com select aninhado
Bom dia galera,
estou com o serio problema aqui, estou tentando fazer um select dentro do outro usando o coalesce, porém dá erro e não sei o porque desse erro.
Já tentei de tudo, parece que nada faz isso funcionar.
Segue:
Segue o erro:
estou com o serio problema aqui, estou tentando fazer um select dentro do outro usando o coalesce, porém dá erro e não sei o porque desse erro.
Já tentei de tudo, parece que nada faz isso funcionar.
Segue:
SELECT B.ID_CXBCO, B.ID_CXBCO || ' - ' || B.NOME AS CAIXA, coalesce((SELECT SUM(L.VALOR) FROM LANCAMENTO_CAIXA L, CXBCO C WHERE L.CXBCO = C.ID_CXBCO),0) AS CXBCO from CXBCO B WHERE B.STATUS = 'A'
Segue o erro:
Invalid token.
invalid request BLR at offset 142.
context already in use (BLR error).
invalid request BLR at offset 142.
context already in use (BLR error).
Claudio Colares
Curtidas 0
Melhor post
Alisson Santos
31/08/2014
Boa noite Claudio.
Tenta esse código abaixo.
#Código
1
2
3
4
SELECT B.ID_CXBCO, B.ID_CXBCO || ' - ' || B.NOME AS CAIXA,
(SELECT Coalesce(SUM(L.VALOR), 0) FROM LANCAMENTO_CAIXA L WHERE L.CXBCO = B.ID_CXBCO) AS CXBCO
from CXBCO B
WHERE B.STATUS = 'A'
Caso não de certo me passe a estrutura dessa tabela que faço alguns testes e te mando o correto.
Tenta esse código abaixo.
#Código
1
2
3
4
SELECT B.ID_CXBCO, B.ID_CXBCO || ' - ' || B.NOME AS CAIXA,
(SELECT Coalesce(SUM(L.VALOR), 0) FROM LANCAMENTO_CAIXA L WHERE L.CXBCO = B.ID_CXBCO) AS CXBCO
from CXBCO B
WHERE B.STATUS = 'A'
Caso não de certo me passe a estrutura dessa tabela que faço alguns testes e te mando o correto.
Meu Patrão, voce é o cara!!!
Muito Obrigado, hoje a cerveja é por minha conta. :)
Que bom que pude de auxiliar.
Precisando abrir um post no forum que auxiliamos.
GOSTEI 1
Mais Respostas
Alex Lekao
30/08/2014
Ola Bom dia!!!
Nao se seria o caso mas no script tem dois nomes iguais.
Sao esses:
Verifica se nao eh isso.
Abraco.
Nao se seria o caso mas no script tem dois nomes iguais.
Sao esses:
AS CXBCO
from CXBCO B
Verifica se nao eh isso.
Abraco.
GOSTEI 0
Claudio Colares
30/08/2014
Ja tentei tirar, mesmo assim não deu certo, me da uma dica...
como ficaria a sintaxe na sua ideia?
Valeu.
como ficaria a sintaxe na sua ideia?
Valeu.
GOSTEI 0
Alex Lekao
30/08/2014
Ola,
eu nao sei extamente o que vc esta querendo fazer, mas vc ja tentou executar os selects separadamente e eles funcionaram?
O que exatamente vc quer fazer?
Abraco.
eu nao sei extamente o que vc esta querendo fazer, mas vc ja tentou executar os selects separadamente e eles funcionaram?
O que exatamente vc quer fazer?
Abraco.
GOSTEI 0
Anderson
30/08/2014
Teste este código:
Att.
Anderson.
SELECT B.ID_CXBCO, B.ID_CXBCO || ' - ' || B.NOME AS CAIXA, coalesce((SELECT SUM(L.VALOR) FROM LANCAMENTO_CAIXA L WHERE L.CXBCO = B.ID_CXBCO),0) AS CXBCO from CXBCO B WHERE B.STATUS = 'A'
Att.
Anderson.
GOSTEI 0
Claudio Colares
30/08/2014
Teste este código:
#Código
1
2
3
4
SELECT B.ID_CXBCO, B.ID_CXBCO || ' - ' || B.NOME AS CAIXA,
coalesce((SELECT SUM(L.VALOR) FROM LANCAMENTO_CAIXA L WHERE L.CXBCO = B.ID_CXBCO),0) AS CXBCO
from CXBCO B
WHERE B.STATUS = 'A'
Att.
Anderson.
#Código
1
2
3
4
SELECT B.ID_CXBCO, B.ID_CXBCO || ' - ' || B.NOME AS CAIXA,
coalesce((SELECT SUM(L.VALOR) FROM LANCAMENTO_CAIXA L WHERE L.CXBCO = B.ID_CXBCO),0) AS CXBCO
from CXBCO B
WHERE B.STATUS = 'A'
Att.
Anderson.
SELECT B.ID_CXBCO, B.ID_CXBCO || ' - ' || B.NOME AS CAIXA, coalesce((SELECT SUM(L.VALOR) FROM LANCAMENTO_CAIXA L WHERE L.CXBCO = B.ID_CXBCO),0) AS CXBCO from CXBCO B WHERE B.STATUS = 'A'
Erro:
Invalid token.
invalid request BLR at offset 136.
context already in use (BLR error).
invalid request BLR at offset 136.
context already in use (BLR error).
GOSTEI 0
Claudio Colares
30/08/2014
Teste este código:
#Código
1
2
3
4
SELECT B.ID_CXBCO, B.ID_CXBCO || ' - ' || B.NOME AS CAIXA,
coalesce((SELECT SUM(L.VALOR) FROM LANCAMENTO_CAIXA L WHERE L.CXBCO = B.ID_CXBCO),0) AS CXBCO
from CXBCO B
WHERE B.STATUS = 'A'
Att.
Anderson.
#Código
1
2
3
4
SELECT B.ID_CXBCO, B.ID_CXBCO || ' - ' || B.NOME AS CAIXA,
coalesce((SELECT SUM(L.VALOR) FROM LANCAMENTO_CAIXA L WHERE L.CXBCO = B.ID_CXBCO),0) AS CXBCO
from CXBCO B
WHERE B.STATUS = 'A'
Att.
Anderson.
SELECT B.ID_CXBCO, B.ID_CXBCO || ' - ' || B.NOME AS CAIXA, coalesce((SELECT SUM(L.VALOR) FROM LANCAMENTO_CAIXA L WHERE L.CXBCO = B.ID_CXBCO),0) AS CXBCO from CXBCO B WHERE B.STATUS = 'A'
Erro:
Invalid token.
invalid request BLR at offset 136.
context already in use (BLR error).
invalid request BLR at offset 136.
context already in use (BLR error).
Amigo, sinceramente, não sei qual é o mistério desse codigo, pior que pesquisado o erro no google não encontro nada.
GOSTEI 0
Anderson
30/08/2014
Qual ferramenta esta utilizando ?
Fiz um teste, adaptando seu código (mas mantendo a lógica), com correção apenas na 2a linha , no meu banco de dados e funcionou. Utilizei o Flamerobin (http://www.flamerobin.org/).
Fiz um teste, adaptando seu código (mas mantendo a lógica), com correção apenas na 2a linha , no meu banco de dados e funcionou. Utilizei o Flamerobin (http://www.flamerobin.org/).
SELECT B.ID_CXBCO, B.ID_CXBCO || ' - ' || B.NOME AS CAIXA, coalesce((SELECT SUM(L.VALOR) FROM LANCAMENTO_CAIXA L WHERE L.CXBCO = B.ID_CXBCO),0) AS CXBCO from CXBCO B WHERE B.STATUS = 'A'
GOSTEI 0
Claudio Colares
30/08/2014
Mesmo erro! Estou usando o IBEXPERT.
Detalhe, o banco é interbase, será que isso pode está influindo?
Detalhe, o banco é interbase, será que isso pode está influindo?
GOSTEI 0
Alisson Santos
30/08/2014
Boa noite Claudio.
Tenta esse código abaixo.
Caso não de certo me passe a estrutura dessa tabela que faço alguns testes e te mando o correto.
Tenta esse código abaixo.
SELECT B.ID_CXBCO, B.ID_CXBCO || ' - ' || B.NOME AS CAIXA, (SELECT Coalesce(SUM(L.VALOR), 0) FROM LANCAMENTO_CAIXA L WHERE L.CXBCO = B.ID_CXBCO) AS CXBCO from CXBCO B WHERE B.STATUS = 'A'
Caso não de certo me passe a estrutura dessa tabela que faço alguns testes e te mando o correto.
GOSTEI 0
Claudio Colares
30/08/2014
Boa noite Claudio.
Tenta esse código abaixo.
#Código
1
2
3
4
SELECT B.ID_CXBCO, B.ID_CXBCO || ' - ' || B.NOME AS CAIXA,
(SELECT Coalesce(SUM(L.VALOR), 0) FROM LANCAMENTO_CAIXA L WHERE L.CXBCO = B.ID_CXBCO) AS CXBCO
from CXBCO B
WHERE B.STATUS = 'A'
Caso não de certo me passe a estrutura dessa tabela que faço alguns testes e te mando o correto.
Tenta esse código abaixo.
#Código
1
2
3
4
SELECT B.ID_CXBCO, B.ID_CXBCO || ' - ' || B.NOME AS CAIXA,
(SELECT Coalesce(SUM(L.VALOR), 0) FROM LANCAMENTO_CAIXA L WHERE L.CXBCO = B.ID_CXBCO) AS CXBCO
from CXBCO B
WHERE B.STATUS = 'A'
Caso não de certo me passe a estrutura dessa tabela que faço alguns testes e te mando o correto.
Meu Patrão, voce é o cara!!!
Muito Obrigado, hoje a cerveja é por minha conta. :)
GOSTEI 0
Alex Lekao
30/08/2014
kkkkk....
como nao percebi nem pensei em utilizar o coalesce no calculo e nao no subselect inteiro. kkkkk
Basicamente foi esta a alteracao correto?
Fiquei tao preocupado com o erro que o codigo passou desapercebido. kkkkkkk
Bom para aprendizado.
Abraco.
como nao percebi nem pensei em utilizar o coalesce no calculo e nao no subselect inteiro. kkkkk
Basicamente foi esta a alteracao correto?
Fiquei tao preocupado com o erro que o codigo passou desapercebido. kkkkkkk
Bom para aprendizado.
Abraco.
GOSTEI 0
Alisson Santos
30/08/2014
Sim pois o coalesce é feito em um campo e não no retorno do select sendo assim vai dar erro mesmo.
GOSTEI 0
Alex Lekao
30/08/2014
kkkk...
pois eh... eu tava preocupado com o erro e nao analisei direito o script..
e sempre uso conversoes, mais eh mais no SQL Server.
quase nao uso Firebird e Interbase menos ainda. rsrs
Abraco.
pois eh... eu tava preocupado com o erro e nao analisei direito o script..
e sempre uso conversoes, mais eh mais no SQL Server.
quase nao uso Firebird e Interbase menos ainda. rsrs
Abraco.
GOSTEI 0