Erro na sintaxe do SQL?
Pessoal, alguem pode me dizer qual o motivo do erro na syntaxe desta SQL?
Olhem o erro que acusa!
[b:8aa86d6a2c]Dynamic SQL Error
SQL code error = -104
Token unknown -line 4, column 14
[.[/b:8aa86d6a2c]
Olhe como fiz o select
Grato
Adriano
Olhem o erro que acusa!
[b:8aa86d6a2c]Dynamic SQL Error
SQL code error = -104
Token unknown -line 4, column 14
[.[/b:8aa86d6a2c]
Olhe como fiz o select
SELECT C.GRAUD AS GRAU, C.valor_A, C.valor_b,
(C.valor_A - C.valor_b) AS SALDO
FROM (SELECT A1.GRAUD, A1.valor_A, B1.GRAUC, B1.valor_b
FROM (SELECT [color=red:8aa86d6a2c][TGRAU1_D][/color:8aa86d6a2c].[GRAUD], sum([TGRAU1_D].valor) AS valor_A FROM TGRAU1_D GROUP BY [TGRAU1_D].[GRAUD] )AS A1,
(SELECT [TGRAU1_C].[GRAUC], SUM([TGRAU1_C].valor) AS valor_b FROM TGRAU1_C GROUP BY [TGRAU1_C].[GRAUC] ) AS B1) AS C
WHERE C.GRAUD=C.GRAUC
Me parece que o erro esta na linha em vermelho acima.Grato
Adriano
Adriano_servitec
Curtidas 0
Respostas
Adriano_servitec
13/04/2007
Olah pessoal, ja descubri o erro
O correto eh assim
:oops:
O correto eh assim
SELECT C.GRAUD AS GRAU, C.valor_A, C.valor_b, (C.valor_A - C.valor_b) AS SALDO FROM (SELECT A1.GRAUD, A1.valor_A, B1.GRAUC, B1.valor_b FROM (SELECT TGRAU1_D.GRAUD, sum(TGRAU1_D.valor) AS valor_A FROM TGRAU1_D GROUP BY TGRAU1_D.GRAUD) AS A1, (SELECT TGRAU1_C.GRAUC, SUM(TGRAU1_C.valor) AS valor_b FROM TGRAU1_C GROUP BY TGRAU1_C.GRAUC ) AS B1) AS C WHERE C.GRAUD=C.GRAUC
:oops:
GOSTEI 0
Adriano_servitec
13/04/2007
Bom o select acima inclui resultado de duas tabelas, mais agora me veio a necessidade de incluir 4 tabelas numa soh grid
as duas primeiras estao como o post acima, ai fiz mais outra com da mesma maneira
soh mudando o nome dos campos
Bom a pergunta eh, como unir esses select num soh para mostrar o resultado num dbgrid?
Tentei assim mais ta longe de ser um select
Mais acho que a ideia começa por ai.
Agradeço a ajuda de todos
Adriano
[b:a78206985b]Estou usando firebird 2.0[/b:a78206985b]
as duas primeiras estao como o post acima, ai fiz mais outra com da mesma maneira
SELECT C.GRAU2D AS GRAU, C.valor_A, C.valor_b, (C.valor_A - C.valor_b) AS SALDO FROM (SELECT A1.GRAU2D, A1.valor_A, B1.GRAU2C, B1.valor_b FROM (SELECT TGRAU2_D.GRAU2D, sum(TGRAU2_D.valor) AS valor_A FROM TGRAU2_D GROUP BY TGRAU2_D.GRAU2D) AS A1, (SELECT TGRAU2_C.GRAU2C, SUM(TGRAU2_C.valor) AS valor_b FROM TGRAU2_C GROUP BY TGRAU2_C.GRAU2C ) AS B1) AS C WHERE C.GRAU2D=C.GRAU2C
Bom a pergunta eh, como unir esses select num soh para mostrar o resultado num dbgrid?
Tentei assim mais ta longe de ser um select
SELECT C.GRAUD AS GRAU, C.valor_A, C.valor_b, (C.valor_A - C.valor_b) AS SALDO FROM (SELECT A1.GRAUD, A1.valor_A, B1.GRAUC, B1.valor_b, A1.GRAU2D, A1.valor_A, B1.GRAU2C, B1.valor_b FROM (SELECT TGRAU1_D.GRAUD, sum(TGRAU1_D.valor) AS valor_A FROM TGRAU1_D,TGRAU2_D.GRAU2D, sum(TGRAU2_D.valor) AS valor_A FROM TGRAU2_D GROUP BY TGRAU1_D.GRAUD and TGRAU2_D.GRAU2D) AS A1, (SELECT TGRAU1_C.GRAUC, SUM(TGRAU1_C.valor) AS valor_b FROM TGRAU1_C, TGRAU2_C.GRAU2C, SUM(TGRAU2_C.valor) AS valor_b FROM TGRAU2_C GROUP BY TGRAU1_C.GRAUC and TGRAU2_C.GRAU2C ) AS B1) AS C WHERE C.GRAUD=C.GRAUC and C.GRAU2D=C.GRAU2C
Mais acho que a ideia começa por ai.
Agradeço a ajuda de todos
Adriano
[b:a78206985b]Estou usando firebird 2.0[/b:a78206985b]
GOSTEI 0
Adriano_servitec
13/04/2007
Topo
GOSTEI 0
Adriano_servitec
13/04/2007
Ja consegui
Valeu
SELECT C.GRAUD AS GRAU, C.valor_A, C.valor_b, (C.valor_A - C.valor_b) AS SALDO FROM (SELECT A1.GRAUD, A1.valor_A, B1.GRAUC, B1.valor_b FROM (SELECT TGRAU1_D.GRAUD, sum(TGRAU1_D.valor) AS valor_A FROM TGRAU1_D GROUP BY TGRAU1_D.GRAUD) AS A1, (SELECT TGRAU1_C.GRAUC, SUM(TGRAU1_C.valor) AS valor_b FROM TGRAU1_C GROUP BY TGRAU1_C.GRAUC ) AS B1) AS C WHERE C.GRAUD=C.GRAUC union SELECT C.GRAU2D AS GRAU, C.valor_A, C.valor_b, (C.valor_A - C.valor_b) AS SALDO FROM (SELECT A1.GRAU2D, A1.valor_A, B1.GRAU2C, B1.valor_b FROM (SELECT TGRAU2_D.GRAU2D, sum(TGRAU2_D.valor) AS valor_A FROM TGRAU2_D GROUP BY TGRAU2_D.GRAU2D) AS A1, (SELECT TGRAU2_C.GRAU2C, SUM(TGRAU2_C.valor) AS valor_b FROM TGRAU2_C GROUP BY TGRAU2_C.GRAU2C ) AS B1) AS C WHERE C.GRAU2D=C.GRAU2C union SELECT C.GRAU3D AS GRAU, C.valor_A, C.valor_b, (C.valor_A - C.valor_b) AS SALDO FROM (SELECT A1.GRAU3D, A1.valor_A, B1.GRAU3C, B1.valor_b FROM (SELECT TGRAUSUPD.GRAU3D, sum(TGRAUSUPD.valor) AS valor_A FROM TGRAUSUPD GROUP BY TGRAUSUPD.GRAU3D) AS A1, (SELECT TGRAUSUPC.GRAU3C, SUM(TGRAUSUPC.valor) AS valor_b FROM TGRAUSUPC GROUP BY TGRAUSUPC.GRAU3C) AS B1) AS C WHERE C.GRAU3D=C.GRAU3C
Valeu
GOSTEI 0