Fazer uma query com dois joins para a mesma tabela

5 respostas
Roger75

Estou meio confuso com uma query que tenho que fazer.

Tenho as seguintes tabelas:

Usuario
codigo,codigoPergunta1,codigoPergunta2

Pergunta
codigo,descricaoPergunta

Queria fazer uma query que retornasse
codigoUsuario,descricaoPergunta1,descricaoPergunta2 where codigoUsuario=123

O campo descricaoPergunta2 é que não estou conseguindo pegar…

5 Respostas

mistico

No mesmo registro de resultado?

Se sim, não dá pois não é relacional.

Hebert_Coelho

Roger75:
Estou meio confuso com uma query que tenho que fazer.

Tenho as seguintes tabelas:

Usuario
codigo,codigoPergunta1,codigoPergunta2

Pergunta
codigo,descricaoPergunta

Queria fazer uma query que retornasse
codigoUsuario,descricaoPergunta1,descricaoPergunta2 where codigoUsuario=123

O campo descricaoPergunta2 é que não estou conseguindo pegar…


Vc ta usando JDBC na unha? Ou Hibernte/JPA?

A

Acho que entendi sua dúvida, mas falta informação, você poderia usar subsonsultas, abaixo um exemplo:

SELECT
    usuario.codigoUsuario,
    (SELECT descricaoPergunta FROM pergunta WHERE usuario.codigoUsuario = pergunta.codigoUsuario) descricaoPergunta1,
    (SELECT descricaoPergunta FROM pergunta WHERE usuario.codigoUsuario = pergunta.codigoUsuario) descricaoPergunta2
FROM usuario where codigoUsuario = 123;
O

Não seria só fazer isto:

SELECT A.codigoUsuario, B.descricaoPergunta, C.descricaoPergunta
FROM Usuraio A, Pergunta B, Pergunta C
WHERE A.codigoPergunta1 = B.codigo AND
      A.codigoPergunta2 = C.codigo AND
      A.codigoUsuario = 123
Roger75

Estava escrevendo a where clause no lugar errado. Valeu.

Criado 16 de janeiro de 2012
Ultima resposta 16 de jan. de 2012
Respostas 5
Participantes 5