Ajuda com SQL
Ola estou tentando fazer essa selecao , mas retorna o erro :
ISC ERROR CODE:335544569
ISC ERROR MESSAGE:
Dynamic SQL Error
SQL error code = -104
Token unknown - line 15, char 4
FROM
==============
esse eh o SQL
O que ha de errado ?
SELECT
MAN.COD_EMPRESA,
MAN.DAT_MANIFESTO,
MAN.NUM_MANIFESTO,
IMA.NUM_CONHECIMENTO,
C.COD_CLIENTE_DESTINATARIO,
CLI.RAZ_CLI_FOR AS RAZ_CLI_REMETENTE,
MAN.VLR_TOTAL_FRETE,
SUM(C.VLR_FRETE_TOTAL) AS VLR_FRETE_BRUTO,
SUM(C.PES_CARGA) AS PES_CARGA,
CAST(((SUM(MAN.VLR_FRETE_TONELADA)*SUM(C.PES_CARGA))/1000)AS NUMERIC(15,2)) AS VLR_FRETE_CARRETEIRO,
CAST((SUM(C.PES_CARGA)/1000)*8 AS NUMERIC (15,2)) AS CUSTO_FIXO_TONELADA,
( SELECT
CAST(SUM(((PAR.VLR_TITULO*0.10)*(PAR.VCT_TITULO-C.DAT_CADASTRO))/100)
FROM PARCELAS_CONHECIMENTO PAR
WHERE PAR.COD_EMPRESA=IMA.COD_EMPRESA
AND PAR.NUM_CONHECIMENTO=IMA.NUM_CONHECIMENTO)AS NUMERIC(15,2)) AS VLR_FINANCEIRO
FROM ITENS_MANIFESTO IMA
JOIN MANIFESTOS MAN ON
IMA.COD_EMPRESA=MAN.COD_EMPRESA AND
IMA.NUM_MANIFESTO=MAN.NUM_MANIFESTO
JOIN CONHECIMENTOS C ON
C.COD_EMPRESA=IMA.COD_EMPRESA AND
C.NUM_CONHECIMENTO=IMA.NUM_CONHECIMENTO AND
C.SIT_CONHECIMENTO=´PR´
JOIN CLIENTES_FORNECEDORES CLI ON
CLI.COD_CLI_FOR=COD_CLIENTE_DESTINATARIO
WHERE MAN.SIT_MANIFESTO<>´CA´
AND MAN.COD_EMPRESA=1
AND MAN.NUM_MANIFESTO=4440
GROUP BY
MAN.COD_EMPRESA,
MAN.DAT_MANIFESTO,
MAN.NUM_MANIFESTO,
C.COD_CLIENTE_DESTINATARIO,
CLI.RAZ_CLI_FOR,
MAN.VLR_TOTAL_FRETE,
IMA.NUM_CONHECIMENTO
ORDER BY 1,3,4
ISC ERROR CODE:335544569
ISC ERROR MESSAGE:
Dynamic SQL Error
SQL error code = -104
Token unknown - line 15, char 4
FROM
==============
esse eh o SQL
O que ha de errado ?
SELECT
MAN.COD_EMPRESA,
MAN.DAT_MANIFESTO,
MAN.NUM_MANIFESTO,
IMA.NUM_CONHECIMENTO,
C.COD_CLIENTE_DESTINATARIO,
CLI.RAZ_CLI_FOR AS RAZ_CLI_REMETENTE,
MAN.VLR_TOTAL_FRETE,
SUM(C.VLR_FRETE_TOTAL) AS VLR_FRETE_BRUTO,
SUM(C.PES_CARGA) AS PES_CARGA,
CAST(((SUM(MAN.VLR_FRETE_TONELADA)*SUM(C.PES_CARGA))/1000)AS NUMERIC(15,2)) AS VLR_FRETE_CARRETEIRO,
CAST((SUM(C.PES_CARGA)/1000)*8 AS NUMERIC (15,2)) AS CUSTO_FIXO_TONELADA,
( SELECT
CAST(SUM(((PAR.VLR_TITULO*0.10)*(PAR.VCT_TITULO-C.DAT_CADASTRO))/100)
FROM PARCELAS_CONHECIMENTO PAR
WHERE PAR.COD_EMPRESA=IMA.COD_EMPRESA
AND PAR.NUM_CONHECIMENTO=IMA.NUM_CONHECIMENTO)AS NUMERIC(15,2)) AS VLR_FINANCEIRO
FROM ITENS_MANIFESTO IMA
JOIN MANIFESTOS MAN ON
IMA.COD_EMPRESA=MAN.COD_EMPRESA AND
IMA.NUM_MANIFESTO=MAN.NUM_MANIFESTO
JOIN CONHECIMENTOS C ON
C.COD_EMPRESA=IMA.COD_EMPRESA AND
C.NUM_CONHECIMENTO=IMA.NUM_CONHECIMENTO AND
C.SIT_CONHECIMENTO=´PR´
JOIN CLIENTES_FORNECEDORES CLI ON
CLI.COD_CLI_FOR=COD_CLIENTE_DESTINATARIO
WHERE MAN.SIT_MANIFESTO<>´CA´
AND MAN.COD_EMPRESA=1
AND MAN.NUM_MANIFESTO=4440
GROUP BY
MAN.COD_EMPRESA,
MAN.DAT_MANIFESTO,
MAN.NUM_MANIFESTO,
C.COD_CLIENTE_DESTINATARIO,
CLI.RAZ_CLI_FOR,
MAN.VLR_TOTAL_FRETE,
IMA.NUM_CONHECIMENTO
ORDER BY 1,3,4
Craudio
Curtidas 0
Respostas
Afarias
23/09/2005
no código abaixo vc deu um CAST no select inteiro!! isso não pode:
... (SELECT CAST(SUM(((PAR.VLR_TITULO*0.10)*(PAR.VCT_TITULO-C.DAT_CADASTRO))/100)
FROM PARCELAS_CONHECIMENTO PAR
WHERE PAR.COD_EMPRESA=IMA.COD_EMPRESA
AND PAR.NUM_CONHECIMENTO=IMA.NUM_CONHECIMENTO)AS NUMERIC(15,2)) AS VLR_FINANCEIRO...
o CAST deve ser apenas no campo::
... (SELECT CAST(SUM(((PAR.VLR_TITULO*0.10)*(PAR.VCT_TITULO-C.DAT_CADASTRO))/100) AS NUMERIC(15,2))
FROM PARCELAS_CONHECIMENTO PAR
WHERE PAR.COD_EMPRESA=IMA.COD_EMPRESA
AND PAR.NUM_CONHECIMENTO=IMA.NUM_CONHECIMENTO) AS VLR_FINANCEIRO...
T+
... (SELECT CAST(SUM(((PAR.VLR_TITULO*0.10)*(PAR.VCT_TITULO-C.DAT_CADASTRO))/100)
FROM PARCELAS_CONHECIMENTO PAR
WHERE PAR.COD_EMPRESA=IMA.COD_EMPRESA
AND PAR.NUM_CONHECIMENTO=IMA.NUM_CONHECIMENTO)AS NUMERIC(15,2)) AS VLR_FINANCEIRO...
o CAST deve ser apenas no campo::
... (SELECT CAST(SUM(((PAR.VLR_TITULO*0.10)*(PAR.VCT_TITULO-C.DAT_CADASTRO))/100) AS NUMERIC(15,2))
FROM PARCELAS_CONHECIMENTO PAR
WHERE PAR.COD_EMPRESA=IMA.COD_EMPRESA
AND PAR.NUM_CONHECIMENTO=IMA.NUM_CONHECIMENTO) AS VLR_FINANCEIRO...
T+
GOSTEI 0
Craudio
23/09/2005
TENTEI COMO NO EXEMPLO ABAIXO MAS DESSA VEZ MOSTRA O ERRO
´
ISC ERROR CODE:335544569
ISC ERROR MESSAGE:
Dynamic SQL Error
SQL error code = -104
password required ´
OBRIGADO PELA RESPOSTA
SELECT
MAN.COD_EMPRESA,
MAN.DAT_MANIFESTO,
MAN.NUM_MANIFESTO,
IMA.NUM_CONHECIMENTO,
C.COD_CLIENTE_DESTINATARIO,
CLI.RAZ_CLI_FOR AS RAZ_CLI_REMETENTE,
MAN.VLR_TOTAL_FRETE,
SUM(C.VLR_FRETE_TOTAL) AS VLR_FRETE_BRUTO,
SUM(C.PES_CARGA) AS PES_CARGA,
CAST(((SUM(MAN.VLR_FRETE_TONELADA)*SUM(C.PES_CARGA))/1000)AS NUMERIC(15,2)) AS VLR_FRETE_CARRETEIRO,
CAST((SUM(C.PES_CARGA)/1000)*8 AS NUMERIC (15,2)) AS CUSTO_FIXO_TONELADA,
(SELECT
CAST((SUM(((PAR.VLR_TITULO*0.10)*(PAR.VCT_TITULO-C.DAT_CADASTRO))/100))AS NUMERIC(15,2))
FROM PARCELAS_CONHECIMENTO PAR
WHERE PAR.COD_EMPRESA=IMA.COD_EMPRESA
AND PAR.NUM_CONHECIMENTO=IMA.NUM_CONHECIMENTO) AS VLR_FINANCEIRO
FROM ITENS_MANIFESTO IMA
JOIN MANIFESTOS MAN ON
IMA.COD_EMPRESA=MAN.COD_EMPRESA AND
IMA.NUM_MANIFESTO=MAN.NUM_MANIFESTO
JOIN CONHECIMENTOS C ON
C.COD_EMPRESA=IMA.COD_EMPRESA AND
C.NUM_CONHECIMENTO=IMA.NUM_CONHECIMENTO AND
C.SIT_CONHECIMENTO=´PR´
JOIN CLIENTES_FORNECEDORES CLI ON
CLI.COD_CLI_FOR=COD_CLIENTE_DESTINATARIO
WHERE MAN.SIT_MANIFESTO<>´CA´
AND MAN.COD_EMPRESA=1
AND MAN.NUM_MANIFESTO=4440
GROUP BY
MAN.COD_EMPRESA,
MAN.DAT_MANIFESTO,
MAN.NUM_MANIFESTO,
C.COD_CLIENTE_DESTINATARIO,
CLI.RAZ_CLI_FOR,
MAN.VLR_TOTAL_FRETE,
IMA.NUM_CONHECIMENTO
ORDER BY 1,3,4
´
ISC ERROR CODE:335544569
ISC ERROR MESSAGE:
Dynamic SQL Error
SQL error code = -104
password required ´
OBRIGADO PELA RESPOSTA
SELECT
MAN.COD_EMPRESA,
MAN.DAT_MANIFESTO,
MAN.NUM_MANIFESTO,
IMA.NUM_CONHECIMENTO,
C.COD_CLIENTE_DESTINATARIO,
CLI.RAZ_CLI_FOR AS RAZ_CLI_REMETENTE,
MAN.VLR_TOTAL_FRETE,
SUM(C.VLR_FRETE_TOTAL) AS VLR_FRETE_BRUTO,
SUM(C.PES_CARGA) AS PES_CARGA,
CAST(((SUM(MAN.VLR_FRETE_TONELADA)*SUM(C.PES_CARGA))/1000)AS NUMERIC(15,2)) AS VLR_FRETE_CARRETEIRO,
CAST((SUM(C.PES_CARGA)/1000)*8 AS NUMERIC (15,2)) AS CUSTO_FIXO_TONELADA,
(SELECT
CAST((SUM(((PAR.VLR_TITULO*0.10)*(PAR.VCT_TITULO-C.DAT_CADASTRO))/100))AS NUMERIC(15,2))
FROM PARCELAS_CONHECIMENTO PAR
WHERE PAR.COD_EMPRESA=IMA.COD_EMPRESA
AND PAR.NUM_CONHECIMENTO=IMA.NUM_CONHECIMENTO) AS VLR_FINANCEIRO
FROM ITENS_MANIFESTO IMA
JOIN MANIFESTOS MAN ON
IMA.COD_EMPRESA=MAN.COD_EMPRESA AND
IMA.NUM_MANIFESTO=MAN.NUM_MANIFESTO
JOIN CONHECIMENTOS C ON
C.COD_EMPRESA=IMA.COD_EMPRESA AND
C.NUM_CONHECIMENTO=IMA.NUM_CONHECIMENTO AND
C.SIT_CONHECIMENTO=´PR´
JOIN CLIENTES_FORNECEDORES CLI ON
CLI.COD_CLI_FOR=COD_CLIENTE_DESTINATARIO
WHERE MAN.SIT_MANIFESTO<>´CA´
AND MAN.COD_EMPRESA=1
AND MAN.NUM_MANIFESTO=4440
GROUP BY
MAN.COD_EMPRESA,
MAN.DAT_MANIFESTO,
MAN.NUM_MANIFESTO,
C.COD_CLIENTE_DESTINATARIO,
CLI.RAZ_CLI_FOR,
MAN.VLR_TOTAL_FRETE,
IMA.NUM_CONHECIMENTO
ORDER BY 1,3,4
GOSTEI 0
Afarias
23/09/2005
|SQL error code = -104
|password required ´
interessante... nunca vi tal erro... ISC ERROR = 335544569 deveria estar associado a SQL ERROR = -902 (IB6.0); ´password required´ deveria estar associado à ISC ERROR = 335544750 e a princípio não faz sentido nesta operação (admitindo q vc esteja devidamente conectado ao banco de dados)
Qual a versão do IB ou FB que vc está usando? Quais os componentes que está usando e a versão?
Eu não sei, mas *talves* essa sua consulta tenha ´atingido´ algum bug. Dê uma olhada nas últimas entradas no arquivo de log do IB/FB
T+
|password required ´
interessante... nunca vi tal erro... ISC ERROR = 335544569 deveria estar associado a SQL ERROR = -902 (IB6.0); ´password required´ deveria estar associado à ISC ERROR = 335544750 e a princípio não faz sentido nesta operação (admitindo q vc esteja devidamente conectado ao banco de dados)
Qual a versão do IB ou FB que vc está usando? Quais os componentes que está usando e a versão?
Eu não sei, mas *talves* essa sua consulta tenha ´atingido´ algum bug. Dê uma olhada nas últimas entradas no arquivo de log do IB/FB
T+
GOSTEI 0
Craudio
23/09/2005
Estou usando o Firebird v1.5.2 rodando no Slackware 10.5.
E estou conectado ao banco pelo IBOConsole versao 1.1.2.19.
Obrigado mais uma vez.
E estou conectado ao banco pelo IBOConsole versao 1.1.2.19.
Obrigado mais uma vez.
GOSTEI 0
Emerson Nascimento
23/09/2005
tente assim:
SELECT MAN.COD_EMPRESA, MAN.DAT_MANIFESTO, MAN.NUM_MANIFESTO, IMA.NUM_CONHECIMENTO, C.COD_CLIENTE_DESTINATARIO, CLI.RAZ_CLI_FOR AS RAZ_CLI_REMETENTE, MAN.VLR_TOTAL_FRETE, SUM(C.VLR_FRETE_TOTAL) AS VLR_FRETE_BRUTO, SUM(C.PES_CARGA) AS PES_CARGA, CAST( (SUM(MAN.VLR_FRETE_TONELADA * C.PES_CARGA) / 1000) AS NUMERIC(15,2)) AS VLR_FRETE_CARRETEIRO, CAST( ((SUM(C.PES_CARGA)/1000) * 8) AS NUMERIC (15,2)) AS CUSTO_FIXO_TONELADA, (SELECT CAST( ( SUM( (PAR.VLR_TITULO*0.10)*(PAR.VCT_TITULO-C.DAT_CADASTRO) ) /100) AS NUMERIC(15,2)) FROM PARCELAS_CONHECIMENTO PAR WHERE PAR.COD_EMPRESA=MAN.COD_EMPRESA AND PAR.NUM_CONHECIMENTO=IMA.NUM_CONHECIMENTO) AS VLR_FINANCEIRO -- note que, no relacionamento, agora está sendo -- utilizado MAN.COD_EMPRESA ao invés de IMA.COD_EMPRESA, -- pois o agrupamento está sendo feito pelo MAN.COD_EMPRESA FROM ITENS_MANIFESTO IMA JOIN MANIFESTOS MAN ON (IMA.COD_EMPRESA=MAN.COD_EMPRESA AND IMA.NUM_MANIFESTO=MAN.NUM_MANIFESTO) JOIN CONHECIMENTOS C ON (C.COD_EMPRESA=IMA.COD_EMPRESA AND C.NUM_CONHECIMENTO=IMA.NUM_CONHECIMENTO AND C.SIT_CONHECIMENTO=´PR´) JOIN CLIENTES_FORNECEDORES CLI ON (CLI.COD_CLI_FOR=COD_CLIENTE_DESTINATARIO) WHERE MAN.SIT_MANIFESTO<>´CA´ AND MAN.COD_EMPRESA=1 AND MAN.NUM_MANIFESTO=4440 GROUP BY MAN.COD_EMPRESA, MAN.DAT_MANIFESTO, MAN.NUM_MANIFESTO, C.COD_CLIENTE_DESTINATARIO, CLI.RAZ_CLI_FOR, MAN.VLR_TOTAL_FRETE, IMA.NUM_CONHECIMENTO ORDER BY MAN.COD_EMPRESA, MAN.NUM_MANIFESTO, IMA.NUM_CONHECIMENTO
GOSTEI 0
Afarias
23/09/2005
Firebird v1.5.2 usando IBO... pq vc não testa usando IBX para ver se dá o mesmo problema. Outro ponto é olhar o arquivo de log:
/opt/firebird/bin/firebird.log
T+
/opt/firebird/bin/firebird.log
T+
GOSTEI 0