Buenas. Yo tengo una tabla “servicios” de la siguiente forma.
CREATE TABLE es_final.servicios
(
id_servicio bigserial NOT NULL,
sigla_serv character varying(6) NOT NULL,
nombre_serv character varying(30) NOT NULL,
descripcion character varying(255) NOT NULL,
tamano character varying(10),
imagen bytea,
parent_id_servicio bigint DEFAULT null,
CONSTRAINT servicios_pk PRIMARY KEY (id_servicio),
CONSTRAINT servicios_servicios_fk FOREIGN KEY (parent_id_servicio)
REFERENCES es_final.servicios (id_servicio)
)
Mi idea es hacer una tabla recursiva, ya que un servicio puede ser padre de otros. El problema surge cuando cargo un servicio el cual no tiene padre. parent_id_servicio acepta valor null, pero cuando hago la consulta para traer los servicios que no tienen padre, no me muestra nada. Tampoco funciona que tome el valor 0 por la clave foránea.
¿Me pueden dar una manito?
Consulta SQL
SELECT * FROM es_final.servicios
WHERE parent_id_servicio=null;