Referência para a mesma tabela

1 resposta Resolvido
postgresql
hilariocode

Ola pessoal. Podem Ajudar?
Tenho uma tabela com 3 colunas
(id int, nome varchar, indicado_por int).

sendo id meu PK e indicado_por um int que faz referência ao id dessa mesma tabela.

para inserir dados faço:

INSERT INTO cliente VALUES(1,Ricardo,null);

INSERT INTO cliente VALUES(2,Joao,1);

preciso de um select que retorne a seguinte informação
id | Nome | indicado_por
1 | Ricardo |
2 | Joao | Ricardo

Uso postgresql.

1 Resposta

Jonathan_Medeiros
Solucao aceita

Simulei seu cenário aqui da seguinte forma:

//Tabela
CREATE TABLE PESSOA(
ID INT,
NOME VARCHAR(20),
IDIND INT,
CONSTRAINT PK_PESSOA PRIMARY KEY(ID),
CONSTRAINT FK_PESSOA FOREIGN KEY(IDIND) REFERENCES PESSOA(ID)
);

//Insert na tabela
id         nome        idind
1	 JONATHAN       null
2	 BRUNO	         1

//Consulta
SELECT P.ID, P.NOME, PE.NOME
FROM PESSOA P 
LEFT JOIN PESSOA PE ON(P.IDIND = PE.ID);

//Resultado
1	JONATHAN	
2	BRUNO	  JONATHAN
Criado 27 de setembro de 2017
Ultima resposta 27 de set. de 2017
Respostas 1
Participantes 2