Pular para o conteúdo

Select em duas Tabelas

Responder tópico
  • Denunciar
  • Indicar

1. Select em duas Tabelas

Enviado em 12/02/2019 - 21:45h

Tenho a seguinte situação: São duas tabelas, Classificação e Defeitos.

Na tabela Classificação tenho uma coluna "ID" e outra "FORNO", entre outras

Na tabela Defeitos, tenho entre outras colunas, a coluna ID_Classificação, que se refere a coluna ID da tabela Classificação, porém por algum motivo, quem fez o BD não relacionou as tabelas.

Preciso de um select, que retorne todos os campos da tabela Defeitos, mais o campo Forno da linha correspondente na tabela Classificação.

Qual a melhor forma de fazer isso, considerando que tenho cerca de 1.000.000 de registros em cada tabela?

O BD é PostgreSQL 9.6.

Responder tópico

2. Re: Select em duas Tabelas

Enviado em 12/02/2019 - 21:53h

select defeitos.*,classificacao.forno from defeitos inner join cassificacao on defeitos.id_classificacao=cassificacao.id;

veja se isso funciona

------------------------------------------------------------------------
https://www.uware.com.br
Arch

3. Re: Select em duas Tabelas

Enviado em 13/02/2019 - 22:53h

Primeiramente obrigado pela ajuda;
Tentei aqui, mas acabei me deparando com outro problema que eu não tinha percebido, o Campo ID da tabela Classificação é do tipo Integer e o campo Id_Classificação da tabela Defeitos é do tipo character varying, por isso deu o erro abaixo:

ERROR: operator does not exist: character varying = integer

denver escreveu:

select defeitos.*,classificacao.forno from defeitos inner join cassificacao on defeitos.id_classificacao=cassificacao.id;

veja se isso funciona

------------------------------------------------------------------------
https://www.uware.com.br
Arch



4. Re: Select em duas Tabelas

Enviado em 14/02/2019 - 02:01h

tenta esse


select defeitos.*,classificacao.forno from defeitos inner join cassificacao on cast(defeitos.id_classificacao as integer)=cassificacao.id;
------------------------------------------------------------------------
https://www.uware.com.br
Arch

5. Re: Select em duas Tabelas

Enviado em 14/02/2019 - 20:52h

Novamente obrigado pela ajuda;

Eu ja tinha tentado essa alternativa, mas deu o seguinte erro, o que pode ser?

ERROR: invalid input syntax for integer: " "
SQL state: 22P02


denver escreveu:

tenta esse


select defeitos.*,classificacao.forno from defeitos inner join cassificacao on cast(defeitos.id_classificacao as integer)=cassificacao.id;
------------------------------------------------------------------------
https://www.uware.com.br
Arch



6. Re: Select em duas Tabelas

Enviado em 15/02/2019 - 10:02h

lpalini escreveu:

Novamente obrigado pela ajuda;

Eu ja tinha tentado essa alternativa, mas deu o seguinte erro, o que pode ser?

ERROR: invalid input syntax for integer: " "
SQL state: 22P02


denver escreveu:

tenta esse


select defeitos.*,classificacao.forno from defeitos inner join cassificacao on cast(defeitos.id_classificacao as integer)=cassificacao.id;
------------------------------------------------------------------------
https://www.uware.com.br
Arch




Chutando aqui, mas parece que alguns registros da tabela defeitos tem o campo id_classificação vazio (ou preenchido com espaços) e está dando erros na hora da conversão.

7. Re: Select em duas Tabelas

Enviado em 15/02/2019 - 21:03h

fpires escreveu:

Chutando aqui, mas parece que alguns registros da tabela defeitos tem o campo id_classificação vazio (ou preenchido com espaços) e está dando erros na hora da conversão.


Na Lata, filtrei os registros e tinha 11 com campo vazio. Agora deu certo. Obrigado pela ajuda. Bom final de semana.

Responder tópico

Responder tópico

Entre na sua conta para responder.

Fazer login para responder