Como Fazer ?

Firebird

31/05/2003

Caro amigos,

Estou usando banco de dados Interbase6.0 com a instrução abaixo.

SELECT DIS.DESCRICAO, LAN.JAN, LAN.FEV, LAN.MAR, LAN.ABR, LAN.MAI, LAN.JUN,
LAN.JUL,
(LAN.JAN + LAN.FEV + LAN.MAR + LAN.ABR + LAN.MAI + LAN.JUN + LAN.JUL) AS
TOTAL
FROM tblancamento LAN
INNER JOIN tbdiscrimina DIS
ON (LAN.CODDISCRIMINA = DIS.CODIGO)
union
SELECT ´TOTAL GERAL ´, SUM(LAN.JAN), SUM(LAN.FEV), SUM(LAN.MAR),
SUM(LAN.ABR),
SUM(LAN.MAI), SUM(LAN.JUN), SUM(LAN.JUL), (SUM(LAN.JAN) + SUM(LAN.FEV) +
SUM(LAN.MAR) + SUM(LAN.ABR) + SUM(LAN.MAI) + SUM(LAN.JUN) + SUM(LAN.JUL)) AS
TOTAL
FROM tblancamento LAN
INNER JOIN tbDISCRIMINA DIS
ON (LAN.CODDISCRIMINA = DIS.codigo)

Mais está aparecenco a seguinte mensagem de erro.

Invalid token.
Dynamic SQL Error.
SQL error code = -104.
Invalid command.
Data type unknown.


Já tentei com aspa duplas sem o Union mas sem sucesso.

Mantmor


Mantmor

Mantmor

Curtidas 0

Respostas

Braddockcs

Braddockcs

31/05/2003

tente assim


SELECT DIS.DESCRICAO, LAN.JAN as janeiro, LAN.FEV as fevereiro, LAN.MAR as marco, LAN.ABR as abril, LAN.MAI as maio, LAN.JUN as junho,
LAN.JUL as julho,
(LAN.JAN + LAN.FEV + LAN.MAR + LAN.ABR + LAN.MAI + LAN.JUN + LAN.JUL) AS
TOTAL
FROM tblancamento LAN
INNER JOIN tbdiscrimina DIS
ON (LAN.CODDISCRIMINA = DIS.CODIGO)
union
SELECT ´TOTAL GERAL ´ as descricao, SUM(LAN.JAN) as janeiro, SUM(LAN.FEV) as fevereiro, SUM(LAN.MAR) as marco,
SUM(LAN.ABR) as abril,
SUM(LAN.MAI) as maio, SUM(LAN.JUN) as junho, SUM(LAN.JUL) as julho, (SUM(LAN.JAN) + SUM(LAN.FEV) +
SUM(LAN.MAR) + SUM(LAN.ABR) + SUM(LAN.MAI) + SUM(LAN.JUN) + SUM(LAN.JUL)) AS
TOTAL
FROM tblancamento LAN
INNER JOIN tbDISCRIMINA DIS
ON (LAN.CODDISCRIMINA = DIS.codigo)

a union precinde obrigatoriamente de campos exatamente iguais, por isso a nomenclatura, o tipo e o tamanho do campo tem que ser idênticos. Tem que verificar se o tamanha do campo descricao é igual ao da string que esta sendo gerada


GOSTEI 0
POSTAR