2 SELECT MESMA TABELA
Bom dia,
Galera tenho o select abaixo e é o seguinte, ele faz um join entre as tabelas, e ele consulta duas vezes a mesma tabela, o detalhe é que os campos da tabela tb_produtor vem com o mesmo nome.
Select
Ex
o resultado fica
Produtor_Nome = Altair
Procudor_CNPJ = 1234
Produtor_Nome = Altair
Procudor_CNPJ = 1234
Eu precisava que fosse assim:
Produtor_Nome_Procedencia = Altair
Procudor_CNPJ_Procedencia = 1234
Produtor_Nome_Destino = Silva
Procudor_CNPJ_Destino = 5678
Galera tenho o select abaixo e é o seguinte, ele faz um join entre as tabelas, e ele consulta duas vezes a mesma tabela, o detalhe é que os campos da tabela tb_produtor vem com o mesmo nome.
Select
select * from tb_gta_bovinos Join tb_produtor on Produtor_ID = tb_gta_bovinos.GTAB_ID_Procedencia join tb_estabelecimentos on tb_estabelecimentos.Estabelecimento_ID = tb_gta_bovinos.GTAB_ID_Procedencia and tb_estabelecimentos.Estabelecimento_CNPJ = tb_produtor.Produtor_CNPJ
Ex
tb_produtor
Produtor_ID = 1
Produtor_Nome = Altair
Procudor_CNPJ = 1234
[ô]------------------------------------------------------
Produtor_ID = 2
Produtor_Nome = Silva
Procudor_CNPJ = 5678
o resultado fica
Produtor_Nome = Altair
Procudor_CNPJ = 1234
Produtor_Nome = Altair
Procudor_CNPJ = 1234
Eu precisava que fosse assim:
Produtor_Nome_Procedencia = Altair
Procudor_CNPJ_Procedencia = 1234
Produtor_Nome_Destino = Silva
Procudor_CNPJ_Destino = 5678
Bem Altair é só colocar ALIAS para os nomes dos campos. Outra dica procure retornar no select somente os campos que seja necessário mesmo, assim ganha em desempenho. em uma base de dados que não contenha muitos registros quase não se percebe a diferença do (*) ASTERISCO, no entanto, em base de dados de grande porte perceberás de cara a diferença ao executar a consulta, outra dica use indÃces nos campos o qual faz left join, right join ou etc.
Exemplo seria
Select TB1.Nome as NomeProdutor, TB2.Nome as NomeCliente....
Exemplo seria
Select TB1.Nome as NomeProdutor, TB2.Nome as NomeCliente....
Veja se não da certo fazendo algo assim :
Select X.Produtor_Nome_Procedencia,Y.Procudor_CNPJ_Procedencia,X.Produtor_Nome_Destino,Y.Procudor_CNPJ_Destino from TABELA X JOIN TABELA Y ON (X.CAMPO = Y.CAMPO) FROM TABELA X;
Ok galera.... Mais tarde eu testo e posto o resultado... Valeu ai...
Tópico encerrado , respostas não são mais permitidas