Como Ficaria a Instrução SQL?
Tenho os seguintes campos na tabela LCTOCXDIARIO: DATA, VALOR, OPERACAO, CONTA.
Preciso fazer um relatório que apresente duas colunas:
Uma com todos os lançamentos com OPERACAO = E, somando VALOR agrupadamente por CONTA e outra coluna com todos os lançamentos com OPERACAO = S, somando VALOR agrupadamente por CONTA.
Utilizo Firebird.
Alguém pode me ajudar a montar a instrução SQL? Obrigado.
Preciso fazer um relatório que apresente duas colunas:
Uma com todos os lançamentos com OPERACAO = E, somando VALOR agrupadamente por CONTA e outra coluna com todos os lançamentos com OPERACAO = S, somando VALOR agrupadamente por CONTA.
Utilizo Firebird.
Alguém pode me ajudar a montar a instrução SQL? Obrigado.
Valdirdill
Curtidas 0
Respostas
Paulo_amorim
24/03/2004
Olá
eu já li um tópico aqui que tem esse mesmo comando SQL....
Mas, cá vamos...
tente fazer um comando WHERE op=´e´ UNION outro comando WHERE op=´s´...
mais ou menos assim
select SUM() as campo1, null as campo2 from ... where operacao=´E´
UNION
select null as campo1, SUM() as campo2 from ... where operacao=´S´
eu já li um tópico aqui que tem esse mesmo comando SQL....
Mas, cá vamos...
tente fazer um comando WHERE op=´e´ UNION outro comando WHERE op=´s´...
mais ou menos assim
select SUM() as campo1, null as campo2 from ... where operacao=´E´
UNION
select null as campo1, SUM() as campo2 from ... where operacao=´S´
GOSTEI 0
Valdirdill
24/03/2004
Olá
eu já li um tópico aqui que tem esse mesmo comando SQL....
Mas, cá vamos...
tente fazer um comando WHERE op=´e´ UNION outro comando WHERE op=´s´...
mais ou menos assim
select SUM() as campo1, null as campo2 from ... where operacao=´E´
UNION
select null as campo1, SUM() as campo2 from ... where operacao=´S´
Tenho os seguintes campos na tabela LCTOCXDIARIO: DATA, VALOR, OPERACAO, CONTA.
Preciso fazer um relatório que apresente duas colunas:
Uma com todos os lançamentos com OPERACAO = E, somando VALOR agrupadamente por CONTA e outra coluna com todos os lançamentos com OPERACAO = S, somando VALOR agrupadamente por CONTA.
Utilizo Firebird.
Obrigado.
GOSTEI 0
Paulo_amorim
24/03/2004
Tenho os seguintes campos na tabela LCTOCXDIARIO: DATA, VALOR, OPERACAO, CONTA.
Preciso fazer um relatório que apresente duas colunas:
Uma com todos os lançamentos com OPERACAO = E, somando VALOR agrupadamente por CONTA e outra coluna com todos os lançamentos com OPERACAO = S, somando VALOR agrupadamente por CONTA.
Utilizo Firebird.
Obrigado.
Olá
Tente assim...fiz um teste aqui e funcionou...
SELECT conta, somaE, somaS FROM
(
SELECT conta, SUM(valor) somaE, null somaS FROM lctocxdiario
WHERE operacao = ´E´ GROUP BY conta
UNION
SELECT conta, null somaE, SUM(valor) somaS FROM lctocxdiario
WHERE operacao = ´S´ GROUP BY conta
) as dados
GROUP BY conta
veja se a sintaxe dos labels (somaE, somaS, dados) estão corretas de acordo com o FB...mas de resto, creio que esteja certo
Até+
GOSTEI 0
Valdirdill
24/03/2004
Fiz exatamente como você informou, mas quando tento abrir a query, dá a seguinte mensagem ´token unknown - line 3, char 1 SELECT´.
O pode ser?
Olá
Tente assim...fiz um teste aqui e funcionou...
SELECT conta, somaE, somaS FROM
(
SELECT conta, SUM(valor) somaE, null somaS FROM lctocxdiario
WHERE operacao = ´E´ GROUP BY conta
UNION
SELECT conta, null somaE, SUM(valor) somaS FROM lctocxdiario
WHERE operacao = ´S´ GROUP BY conta
) as dados
GROUP BY conta
veja se a sintaxe dos labels (somaE, somaS, dados) estão corretas de acordo com o FB...mas de resto, creio que esteja certo
Até+[/quote:b508fbde68]
O pode ser?
[quote:b508fbde68=´valdirdill´]Tenho os seguintes campos na tabela LCTOCXDIARIO: DATA, VALOR, OPERACAO, CONTA.
Preciso fazer um relatório que apresente duas colunas:
Uma com todos os lançamentos com OPERACAO = E, somando VALOR agrupadamente por CONTA e outra coluna com todos os lançamentos com OPERACAO = S, somando VALOR agrupadamente por CONTA.
Utilizo Firebird.
Obrigado.
Olá
Tente assim...fiz um teste aqui e funcionou...
SELECT conta, somaE, somaS FROM
(
SELECT conta, SUM(valor) somaE, null somaS FROM lctocxdiario
WHERE operacao = ´E´ GROUP BY conta
UNION
SELECT conta, null somaE, SUM(valor) somaS FROM lctocxdiario
WHERE operacao = ´S´ GROUP BY conta
) as dados
GROUP BY conta
veja se a sintaxe dos labels (somaE, somaS, dados) estão corretas de acordo com o FB...mas de resto, creio que esteja certo
Até+[/quote:b508fbde68]
GOSTEI 0
Sremulador
24/03/2004
Amigo eu acho que e assim
SELECT conta, somaE, somaS FROM
(
SELECT conta, SUM(valor) [b:4da6c6f179]as[/b:4da6c6f179] somaE, null somaS FROM lctocxdiario
WHERE operacao = ´E´ GROUP BY conta
GROUP BY conta
UNION
SELECT conta, null somaE, SUM(valor) [b:4da6c6f179]as[/b:4da6c6f179] somaS FROM lctocxdiario
WHERE operacao = ´S´
GROUP BY conta
SELECT conta, somaE, somaS FROM
(
SELECT conta, SUM(valor) [b:4da6c6f179]as[/b:4da6c6f179] somaE, null somaS FROM lctocxdiario
WHERE operacao = ´E´ GROUP BY conta
GROUP BY conta
UNION
SELECT conta, null somaE, SUM(valor) [b:4da6c6f179]as[/b:4da6c6f179] somaS FROM lctocxdiario
WHERE operacao = ´S´
GROUP BY conta
GOSTEI 0
Valdirdill
24/03/2004
Agradeço sua ajuda, mas não está funcionando. Mudei e a mensagem de erro continua a mesma.
Amigo eu acho que e assim
SELECT conta, somaE, somaS FROM
(
SELECT conta, SUM(valor) [b:b8c8204114]as[/b:b8c8204114] somaE, null somaS FROM lctocxdiario
WHERE operacao = ´E´ GROUP BY conta
GROUP BY conta
UNION
SELECT conta, null somaE, SUM(valor) [b:b8c8204114]as[/b:b8c8204114] somaS FROM lctocxdiario
WHERE operacao = ´S´
GROUP BY conta
GOSTEI 0
Sremulador
24/03/2004
tente tirar o group para ver se da certo ok
GOSTEI 0