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 

Consultar campo que é chave estrangeira.RESOLVIDO

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


Registrado: Quarta-Feira, 6 de Mai de 2009
Mensagens: 1948
Localização: Taubaté - SP

MensagemEnviada: Qua Jun 01, 2011 2:54 pm    Assunto: Consultar campo que é chave estrangeira.RESOLVIDO Responder com Citação

Tenho minha tabela de contas à pagar onde eu pego o nome do Fornecedor só que no banco de dados eu salvo o código.

Na hora da consulta eu tentei usar um Join na tabela mas como meus campos possuem o mesmo nome ele dá uma mensagem de erro !

Existem algum outro meio de fazer isso ?
_________________
AMD Phenom II X4 960T 3.00 GHz - 8 GB DDR III - HD 1000 GB SATA - GeForce GTX 650 TI GDDR 5 - Monitor 21,5" Full HD - Kubuntu 14.04 + Windows 7 Professional x64.


Editado pela última vez por oneshotbr em Qua Jun 01, 2011 4:00 pm, num total de 1 vez
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
infotec.dvd
Profissional
Profissional


Registrado: Quarta-Feira, 23 de Setembro de 2009
Mensagens: 677
Localização: Vitória ES

MensagemEnviada: Qua Jun 01, 2011 3:01 pm    Assunto: Responder com Citação

aí vc tem q usar a sintaxe completa...

select sua_tabela.seu_campo
from sua_tabela


saco?
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
oneshotbr
Colaborador
Colaborador


Registrado: Quarta-Feira, 6 de Mai de 2009
Mensagens: 1948
Localização: Taubaté - SP

MensagemEnviada: Qua Jun 01, 2011 3:05 pm    Assunto: Responder com Citação

Código:
select * from contasreceber join CLIENTE on (CLI_CODIGO = CLIENTE.CLI_CODIGO)


Assim ?
_________________
AMD Phenom II X4 960T 3.00 GHz - 8 GB DDR III - HD 1000 GB SATA - GeForce GTX 650 TI GDDR 5 - Monitor 21,5" Full HD - Kubuntu 14.04 + Windows 7 Professional x64.
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
rvercesi
Mestre
Mestre


Registrado: Segunda-Feira, 29 de Novembro de 2010
Mensagens: 912
Localização: Curitiba / PR

MensagemEnviada: Qua Jun 01, 2011 3:14 pm    Assunto: Responder com Citação

Olha um exemplo aqui:

Código:
SELECT
    ordens.dt_entrada,
    ordens.id,
    vendedores.vendedor,
    supervisores.supervisor,
    status.descricao AS status_,
    ordens.cnpj,
    clientes.empresa,
    ordens.dt_mudanca,
    planos.tipo,
    planos.descricao AS plano,
    ordens.referencia,
    ordens.acessos,
    ordens.franquia,
    ordens.qtde_acessos ,
    ordens.pacote_bis,
    ordens.pacote_dados,
    ordens.decisao,
    ordens.observacoes
FROM
  parana.ordens
    LEFT OUTER JOIN parana.supervisores ON (parana.ordens.cod_sup = parana.supervisores.cod_sup)
    LEFT OUTER JOIN parana.vendedores ON (parana.ordens.cod_vend = parana.vendedores.cod_vend)
    LEFT OUTER JOIN parana.status ON (parana.ordens.status = parana.status.cod_status)
    LEFT OUTER JOIN parana.clientes ON (parana.ordens.cnpj = parana.clientes.cnpj)
    LEFT OUTER JOIN parana.cidades ON (parana.clientes.cidade = parana.cidades.cod_cidade)
    LEFT OUTER JOIN parana.planos ON (parana.ordens.produto = parana.planos.cod_plano)
WHERE
  ( parana.ordens.dt_entrada BETWEEN '2010-01-01' AND '2015-12-31' )
ORDER BY
  parana.vendedores.vendedor,
  parana.ordens.dt_entrada,
  parana.status.descricao,
  parana.clientes.empresa


O "parana." que tem antes de cada tabela é porque eu uso o PostgreSQL que tem Schemas para o banco de dados! De resto é 100% igual!
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular MSN Messenger
infotec.dvd
Profissional
Profissional


Registrado: Quarta-Feira, 23 de Setembro de 2009
Mensagens: 677
Localização: Vitória ES

MensagemEnviada: Qua Jun 01, 2011 3:47 pm    Assunto: Responder com Citação

Código:
select * from contasreceber join CLIENTE on (contasreceber .CLI_CODIGO = CLIENTE.CLI_CODIGO)
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
oneshotbr
Colaborador
Colaborador


Registrado: Quarta-Feira, 6 de Mai de 2009
Mensagens: 1948
Localização: Taubaté - SP

MensagemEnviada: Qua Jun 01, 2011 3:52 pm    Assunto: Responder com Citação

Citação:

Código:
select * from contasreceber join CLIENTE on (contasreceber .CLI_CODIGO = CLIENTE.CLI_CODIGO)


Entendi ! Como os 2 campos são iguais eu especifico que cada um pertence a determinada tabela.

Obrigado !
_________________
AMD Phenom II X4 960T 3.00 GHz - 8 GB DDR III - HD 1000 GB SATA - GeForce GTX 650 TI GDDR 5 - Monitor 21,5" Full HD - Kubuntu 14.04 + Windows 7 Professional x64.
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
infotec.dvd
Profissional
Profissional


Registrado: Quarta-Feira, 23 de Setembro de 2009
Mensagens: 677
Localização: Vitória ES

MensagemEnviada: Qua Jun 01, 2011 3:56 pm    Assunto: Responder com Citação

exatamente.
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
oneshotbr
Colaborador
Colaborador


Registrado: Quarta-Feira, 6 de Mai de 2009
Mensagens: 1948
Localização: Taubaté - SP

MensagemEnviada: Qua Jun 01, 2011 4:01 pm    Assunto: Responder com Citação

Obrigado ...
_________________
AMD Phenom II X4 960T 3.00 GHz - 8 GB DDR III - HD 1000 GB SATA - GeForce GTX 650 TI GDDR 5 - Monitor 21,5" Full HD - Kubuntu 14.04 + Windows 7 Professional x64.
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