Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Nelson Sousa

Como Usar Clásula UNION na mesma tabela?

Recommended Posts

Olá pessoal,

 

Estou tentando construir um SQL usando UNION com dados da mesma tabela. Nesta tabela eu tenho registros com o campo TipoMov='C' (crédito), e, TipoMov='D' (débito).

Eu pretendia mostrar numa coluna os créditos e na outra os débitos, uma espécie de livro caixa, o código ficou mais ou menos assim:

(

SELECT tbl_mov_financeiros.IDMovFinanceiro, tbl_mov_financeiros.Titulo, tbl_mov_financeiros.Vencimento, tbl_mov_financeiros.ValorTitulo AS CRD, 0 AS DBT
FROM tbl_mov_financeiros
WHERE tbl_mov_financeiros.Pagamento IS NOT NULL 
AND tbl_mov_financeiros.TipoMov = 'C'
)
UNION ALL (

SELECT tbl_mov_financeiros.IDMovFinanceiro, tbl_mov_financeiros.Titulo, tbl_mov_financeiros.Vencimento, 0, tbl_mov_financeiros.ValorTitulo
FROM tbl_mov_financeiros
WHERE tbl_mov_financeiros.Pagamento IS NOT NULL 
AND tbl_mov_financeiros.TipoMov = 'D'
)
ORDER BY tbl_mov_financeiros.Pagamento

O problema é que está me retornando o erro:

#1250 - Table 'tbl_mov_financeiros' from one of the SELECTs cannot be used in global ORDER clause

 

Alguém pode me ajudar?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá,

Eu acabei descobrindo onde estava errando.

Estava usando a coluna "Pagamento" na cláusula ORDER BY sem tê-la utilizado no SELECT, foi só substituir no SELECT a coluna "Vencimento" por "Pagamento".

Caso resolvido.

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.