Iai galera blz? Como faço pra fazer a consulta em duas tabelas sql ? Eu tentei usar o inner join mas ele repete os valores e eu não quero que se repita. Como faço isso?
Se repete os valores é porque o sql está errado.
Sem conhecer tabelas e o que pretendes obter, é impossível alguem conseguir ajudar.
Dá um distinct
SELECT distinct *FROM tabela
Você está certo! Queira me desculpar. Tenho duas tabelas uma se chama temas_redaçao e a outra se chama temas_narrativas e quero chamar o valor das duas em um tabela html via php.
O codigo sql que estou usando é o seguinte:
SELECT distinct * FROM
temas_redacao
INNER JOIN
temas_narrativa ON temas_redacao.id = temas_narrativa.id
WHERE
temas_redacao.codigo_professor = 1
Se vc está passando * ele acaba trazendo todos os campos e se vc analisar direito alguma coluna linha não está igual.
Pra não duplicar vc tem que tirar o * e informar as colunas que realmente vc irá utilizar na sua consulta.
E o que queres devolver?
Desta forma vai devolver todas as linhas de temas_redacao com o codigo_professor = 1 x numero de temas_narrativa de cada linha
Cara eu só quero retornar todos os valores dessas duas tabelas enquanto o codigo do professor for aquele sem repeti-las.
Mas o teu select já deve fazer isso (repetindo as linhas de temas_redacao para todas as linhas de temas_narrativa correspondentes)
Se tiveres:
-- tabela1
id campo descricaot1
1 P A
2 P B
3 Q C
-- tabela2
id id_t1 descricaot2
1 1 X
2 2 Y
3 2 Z
4 2 T
5 3 W
A query
SELECT * FROM tabela1 inner join tabela2 on tabela1.id = tabela2.id_t1
where t1.campo = 'P'
vai devolver 4 linhas, não é isso que pretendes?
--resultado
id campo descricaot1 id id_t1 descricaot2
1 P A 1 1 X
2 P B 2 2 Y
2 P B 3 2 Z
2 P B 4 2 T
@Sapinn, verifica se o campo de ligação entre as tabelas é esse mesmo nas duas.
Em qual tabela está a chave estrangeira e qual a coluna que a compõe?
Sim é isso mesmo o problema é que os valores estão se repetindo e eu não quero que eles se repitam.
Que valores estão repetidos?
Mostra exemplo prático:
- o que tens nas tabelas?
- o que obtens no teu select?
- o que pretendias obter no teu select?
Pelo que me parece você está fazendo a junção comparando a PK da tabela temas_redacao com a PK da tabela temas_narrativa, imagino que seja por isso que o resultado está errado no retorno da consulta.