ActiveDelphi - Índice do Fórum ActiveDelphi
.: O site do programador Delphi! :.
 
 FAQFAQ   PesquisarPesquisar   MembrosMembros   GruposGrupos   RegistrarRegistrar 
 PerfilPerfil   Entrar e ver Mensagens ParticularesEntrar e ver Mensagens Particulares   EntrarEntrar 

Consulta SQL com UNION - Não consigo ajuden por favor!

 
Novo Tópico   Responder Mensagem    ActiveDelphi - Índice do Fórum -> Delphi
Exibir mensagem anterior :: Exibir próxima mensagem  
Autor Mensagem
kleberibm
Membro Junior
Membro Junior


Registrado: Quinta-Feira, 9 de Setembro de 2010
Mensagens: 355
Localização: Santo Anotnio de Jesus-BA

MensagemEnviada: Sex Jun 17, 2011 10:17 pm    Assunto: Consulta SQL com UNION - Não consigo ajuden por favor! Responder com Citação

Pessoal Boa noite a Todos!

Bom, para quem não sabe sou iniciante no mundo da programação Delphi SQL.

Bom Estou com sérios problemas com SQL. O prolema é o seguinte faço uma consulta em uma tabela e da tudo certo. Mais quando uso o Comando UNION para Consultar uma outra tabela aí vem o erro..

A consulta sem o Union:


SELECT
C000042.DATA,
C000042.PLANO_CONTAS,
C000042.HISTORICO,
C000042.TIPO,
C000042.VALOR,
C000035.CLASSIFICACAO,
C000042.CODCONTA,
C000035.CONTA,
C000035.TIPO
FROM
C000035
INNER JOIN C000042 ON (C000035.CODIGO = C000042.CODCONTA)


Bom, até funciona perfeitamente. Mas quando adiciono o Comando UNION aí que vem o Erro.
o Scritp está assim:


SELECT
C000042.DATA,
C000042.PLANO_CONTAS,
C000042.HISTORICO,
C000042.TIPO,
C000042.VALOR,
C000035.CLASSIFICACAO,
C000042.CODCONTA,
C000035.CONTA,
C000035.TIPO
FROM
C000035
INNER JOIN C000042 ON (C000035.CODIGO = C000042.CODCONTA)

UNION ALL

SELECT
C000044.VALOR,
C000035.CLASSIFICACAO,
C000035.TIPO,
C000035.CONTA
FROM
C000035
INNER JOIN C000044 ON (C000035.CONTA = C000044.CODCONTA)

Aí ja não funciona mais nada depois que acrescento o UNION.
Pessoal quem conseguir identificar onde está o erro, por favor me ajudem. desde já aobrigado!
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular Enviar E-mail MSN Messenger
adriano_servitec
Colaborador
Colaborador


Registrado: Sexta-Feira, 30 de Janeiro de 2004
Mensagens: 17618

MensagemEnviada: Sex Jun 17, 2011 10:50 pm    Assunto: Re: Consulta SQL com UNION - Não consigo ajuden por favor! Responder com Citação

kleberibm escreveu:
Pessoal Boa noite a Todos!

Bom, para quem não sabe sou iniciante no mundo da programação Delphi SQL.

Bom Estou com sérios problemas com SQL. O prolema é o seguinte faço uma consulta em uma tabela e da tudo certo. Mais quando uso o Comando UNION para Consultar uma outra tabela aí vem o erro..

A consulta sem o Union:


SELECT
C000042.DATA,
C000042.PLANO_CONTAS,
C000042.HISTORICO,
C000042.TIPO,
C000042.VALOR,
C000035.CLASSIFICACAO,
C000042.CODCONTA,
C000035.CONTA,
C000035.TIPO
FROM
C000035
INNER JOIN C000042 ON (C000035.CODIGO = C000042.CODCONTA)


Bom, até funciona perfeitamente. Mas quando adiciono o Comando UNION aí que vem o Erro.
o Scritp está assim:


SELECT
C000042.DATA,
C000042.PLANO_CONTAS,
C000042.HISTORICO,
C000042.TIPO,
C000042.VALOR,
C000035.CLASSIFICACAO,
C000042.CODCONTA,
C000035.CONTA,
C000035.TIPO
FROM
C000035
INNER JOIN C000042 ON (C000035.CODIGO = C000042.CODCONTA)

UNION ALL

SELECT
C000044.VALOR,
C000035.CLASSIFICACAO,
C000035.TIPO,
C000035.CONTA
FROM
C000035
INNER JOIN C000044 ON (C000035.CONTA = C000044.CODCONTA)

Aí ja não funciona mais nada depois que acrescento o UNION.
Pessoal quem conseguir identificar onde está o erro, por favor me ajudem. desde já aobrigado!
Se o erro for por causa de ausencia das colunas no segundo select vc precisa preencher com algo ai no segundo select para igualar ao primeiro que contem nove campos contra 4 campos do segundo select

Código:
SELECT
  C000042.DATA,
  C000042.PLANO_CONTAS,
  C000042.HISTORICO,
  C000042.TIPO,
  C000042.VALOR,
  C000035.CLASSIFICACAO,
  C000042.CODCONTA,
  C000035.CONTA,
  C000035.TIPO
FROM
  C000035
  INNER JOIN C000042 ON (C000035.CODIGO = C000042.CODCONTA)

UNION ALL

SELECT
  C000044.VALOR,
  C000035.CLASSIFICACAO,
  C000035.TIPO,
  C000035.CONTA,
  null,
  null,
  null,
  null,
  null
FROM
  C000035
  INNER JOIN C000044 ON (C000035.CONTA = C000044.CODCONTA)


Não sei se vai funcionar pq não testei, vej ai, qualquer coisa volte a postar.
_________________
Jogo seu smartphone? Acesse o link e confira.
https://play.google.com/store/apps/details?id=br.com.couldsys.rockdrum
https://play.google.com/store/apps/details?id=br.com.couldsys.drumsetfree
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
kleberibm
Membro Junior
Membro Junior


Registrado: Quinta-Feira, 9 de Setembro de 2010
Mensagens: 355
Localização: Santo Anotnio de Jesus-BA

MensagemEnviada: Sex Jun 17, 2011 11:29 pm    Assunto: Re: Consulta SQL com UNION - Não consigo ajuden por favor! Responder com Citação

adriano_servitec escreveu:
kleberibm escreveu:
Pessoal Boa noite a Todos!

Bom, para quem não sabe sou iniciante no mundo da programação Delphi SQL.

Bom Estou com sérios problemas com SQL. O prolema é o seguinte faço uma consulta em uma tabela e da tudo certo. Mais quando uso o Comando UNION para Consultar uma outra tabela aí vem o erro..

A consulta sem o Union:


SELECT
C000042.DATA,
C000042.PLANO_CONTAS,
C000042.HISTORICO,
C000042.TIPO,
C000042.VALOR,
C000035.CLASSIFICACAO,
C000042.CODCONTA,
C000035.CONTA,
C000035.TIPO
FROM
C000035
INNER JOIN C000042 ON (C000035.CODIGO = C000042.CODCONTA)


Bom, até funciona perfeitamente. Mas quando adiciono o Comando UNION aí que vem o Erro.
o Scritp está assim:


SELECT
C000042.DATA,
C000042.PLANO_CONTAS,
C000042.HISTORICO,
C000042.TIPO,
C000042.VALOR,
C000035.CLASSIFICACAO,
C000042.CODCONTA,
C000035.CONTA,
C000035.TIPO
FROM
C000035
INNER JOIN C000042 ON (C000035.CODIGO = C000042.CODCONTA)

UNION ALL

SELECT
C000044.VALOR,
C000035.CLASSIFICACAO,
C000035.TIPO,
C000035.CONTA
FROM
C000035
INNER JOIN C000044 ON (C000035.CONTA = C000044.CODCONTA)

Aí ja não funciona mais nada depois que acrescento o UNION.
Pessoal quem conseguir identificar onde está o erro, por favor me ajudem. desde já aobrigado!
Se o erro for por causa de ausencia das colunas no segundo select vc precisa preencher com algo ai no segundo select para igualar ao primeiro que contem nove campos contra 4 campos do segundo select

Código:
SELECT
  C000042.DATA,
  C000042.PLANO_CONTAS,
  C000042.HISTORICO,
  C000042.TIPO,
  C000042.VALOR,
  C000035.CLASSIFICACAO,
  C000042.CODCONTA,
  C000035.CONTA,
  C000035.TIPO
FROM
  C000035
  INNER JOIN C000042 ON (C000035.CODIGO = C000042.CODCONTA)

UNION ALL

SELECT
  C000044.VALOR,
  C000035.CLASSIFICACAO,
  C000035.TIPO,
  C000035.CONTA,
  null,
  null,
  null,
  null,
  null
FROM
  C000035
  INNER JOIN C000044 ON (C000035.CONTA = C000044.CODCONTA)


Não sei se vai funcionar pq não testei, vej ai, qualquer coisa volte a postar.
~

Amigo funcionou deu certo ficou ótimo, mas não sei como faço para ordernar essa essa pesquisa, normalmente numa simples pesquisa eu coloco sempre no final da pesquisa um Order BY:

Script Ficou assim:

SELECT
C000042.DATA,
C000042.PLANO_CONTAS,
C000042.HISTORICO,
C000042.TIPO,
C000042.VALOR,
C000035.CLASSIFICACAO,
C000042.CODCONTA
FROM
C000035
INNER JOIN C000042 ON (C000035.CODIGO = C000042.CODCONTA)


UNION

SELECT
C000044.DATA,
C000044.VALOR,
C000035.CLASSIFICACAO,
C000035.TIPO,
C000035.CONTA,
C000044.CODCONTA,
C000044.HISTORICO
FROM
C000035
INNER JOIN C000044 ON (C000035.CONTA = C000044.CODCONTA)

============================================
Agora como faço para aordenar essa consulta?
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular Enviar E-mail MSN Messenger
adriano_servitec
Colaborador
Colaborador


Registrado: Sexta-Feira, 30 de Janeiro de 2004
Mensagens: 17618

MensagemEnviada: Sáb Jun 18, 2011 9:45 am    Assunto: Re: Consulta SQL com UNION - Não consigo ajuden por favor! Responder com Citação

kleberibm escreveu:
adriano_servitec escreveu:
kleberibm escreveu:
Pessoal Boa noite a Todos!

Bom, para quem não sabe sou iniciante no mundo da programação Delphi SQL.

Bom Estou com sérios problemas com SQL. O prolema é o seguinte faço uma consulta em uma tabela e da tudo certo. Mais quando uso o Comando UNION para Consultar uma outra tabela aí vem o erro..

A consulta sem o Union:


SELECT
C000042.DATA,
C000042.PLANO_CONTAS,
C000042.HISTORICO,
C000042.TIPO,
C000042.VALOR,
C000035.CLASSIFICACAO,
C000042.CODCONTA,
C000035.CONTA,
C000035.TIPO
FROM
C000035
INNER JOIN C000042 ON (C000035.CODIGO = C000042.CODCONTA)


Bom, até funciona perfeitamente. Mas quando adiciono o Comando UNION aí que vem o Erro.
o Scritp está assim:


SELECT
C000042.DATA,
C000042.PLANO_CONTAS,
C000042.HISTORICO,
C000042.TIPO,
C000042.VALOR,
C000035.CLASSIFICACAO,
C000042.CODCONTA,
C000035.CONTA,
C000035.TIPO
FROM
C000035
INNER JOIN C000042 ON (C000035.CODIGO = C000042.CODCONTA)

UNION ALL

SELECT
C000044.VALOR,
C000035.CLASSIFICACAO,
C000035.TIPO,
C000035.CONTA
FROM
C000035
INNER JOIN C000044 ON (C000035.CONTA = C000044.CODCONTA)

Aí ja não funciona mais nada depois que acrescento o UNION.
Pessoal quem conseguir identificar onde está o erro, por favor me ajudem. desde já aobrigado!
Se o erro for por causa de ausencia das colunas no segundo select vc precisa preencher com algo ai no segundo select para igualar ao primeiro que contem nove campos contra 4 campos do segundo select

Código:
SELECT
  C000042.DATA,
  C000042.PLANO_CONTAS,
  C000042.HISTORICO,
  C000042.TIPO,
  C000042.VALOR,
  C000035.CLASSIFICACAO,
  C000042.CODCONTA,
  C000035.CONTA,
  C000035.TIPO
FROM
  C000035
  INNER JOIN C000042 ON (C000035.CODIGO = C000042.CODCONTA)

UNION ALL

SELECT
  C000044.VALOR,
  C000035.CLASSIFICACAO,
  C000035.TIPO,
  C000035.CONTA,
  null,
  null,
  null,
  null,
  null
FROM
  C000035
  INNER JOIN C000044 ON (C000035.CONTA = C000044.CODCONTA)


Não sei se vai funcionar pq não testei, vej ai, qualquer coisa volte a postar.
~

Amigo funcionou deu certo ficou ótimo, mas não sei como faço para ordernar essa essa pesquisa, normalmente numa simples pesquisa eu coloco sempre no final da pesquisa um Order BY:

Script Ficou assim:

SELECT
C000042.DATA,
C000042.PLANO_CONTAS,
C000042.HISTORICO,
C000042.TIPO,
C000042.VALOR,
C000035.CLASSIFICACAO,
C000042.CODCONTA
FROM
C000035
INNER JOIN C000042 ON (C000035.CODIGO = C000042.CODCONTA)


UNION

SELECT
C000044.DATA,
C000044.VALOR,
C000035.CLASSIFICACAO,
C000035.TIPO,
C000035.CONTA,
C000044.CODCONTA,
C000044.HISTORICO
FROM
C000035
INNER JOIN C000044 ON (C000035.CONTA = C000044.CODCONTA)

============================================
Agora como faço para aordenar essa consulta?

No firebird (outros bancos eu não sei) vc faz no segundo select utilizando o numero da coluna do primeiro select que vc quer ordenar

exemplo

ORDER BY 4, irá ordenar por este campo C000042.TIPO
_________________
Jogo seu smartphone? Acesse o link e confira.
https://play.google.com/store/apps/details?id=br.com.couldsys.rockdrum
https://play.google.com/store/apps/details?id=br.com.couldsys.drumsetfree
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
Mostrar os tópicos anteriores:   
Novo Tópico   Responder Mensagem    ActiveDelphi - Índice do Fórum -> Delphi Todos os horários são GMT - 3 Horas
Página 1 de 1

 
Ir para:  
Enviar Mensagens Novas: Proibido.
Responder Tópicos Proibido
Editar Mensagens: Proibido.
Excluir Mensagens: Proibido.
Votar em Enquetes: Proibido.


Powered by phpBB © 2001, 2005 phpBB Group
Traduzido por: Suporte phpBB