Php 分层树结构-删除独立行

Php 分层树结构-删除独立行,php,sql,tree,postgresql-9.2,Php,Sql,Tree,Postgresql 9.2,我有两个表,其结构如下所述: CREATE TABLE products ( id integer NOT NULL, name text, CONSTRAINT pk_first PRIMARY KEY (id) ) WITH ( OIDS=FALSE ); CREATE TABLE events ( id integer NOT NULL, parent integer, CONSTRAINT pk_second PRIMARY KEY (id) ) WITH

我有两个表,其结构如下所述:

CREATE TABLE products
(
  id integer NOT NULL,
  name text,
  CONSTRAINT pk_first PRIMARY KEY (id)
)
WITH (
  OIDS=FALSE
);

CREATE TABLE events
(
  id integer NOT NULL,
  parent integer,
  CONSTRAINT pk_second PRIMARY KEY (id)
)
WITH (
  OIDS=FALSE
);

INSERT INTO events (
  id, parent)
  VALUES (1, 1), (2, 1), (3, 1), (4, 2), (5, 3), (6, 6), (7, 6); 

INSERT INTO products(
            id, name)
    VALUES (1,'A'), (2,'B'),(3,'C'),(4,'D');
现在,我必须从events表中删除所有与产品没有连接的行。我所说的连接是指来自事件的Id和来自产品的Id之间的连接,但并没有外键,并且在事件表中可以是和产品中的行并没有等价物的行

我无法删除依赖于通过父\u id连接的行的任何行

例如:

检查products表中id为3的行时,我无法删除table events中id为3的行,也无法删除id为1、2、4和5->的任何行,因为它们都通过父项id依赖于3。但我可以删除id为6和7的行-没有依赖项


有什么想法吗?

看起来很像……不,是别的,但我用过类似的表名。