2 つtableの があります。1 つは でmaster、もう 1 つはdetail( 外部キー ) です。masterテーブルにはhierarchy構造があります。master各行にはparent階層があります (自己外部キー)。おそらく、テーブルの DML で明確に説明できます。
CREATE TABLE classe_menu (
class_menu_code int(10) NOT NULL auto_increment,
class_menu_lib varchar(50) default NULL,
class_menu_comment text,
class_menu_deleted tinyint(1) default '0',
class_menu_ordre int(11) default NULL,
class_menu_parent int(10) default NULL,
PRIMARY KEY (class_menu_code) ,
KEY association_108_fk (class_menu_parent),
CONSTRAINT fk_association_108 FOREIGN KEY (class_menu_parent) REFERENCES classe_menu (class_menu_code)
) ENGINE=InnoDB DEFAULT CHARSET=latin1
CREATE TABLE menu (
menu_code int(10) NOT NULL auto_increment,
class_menu_code int(10) default NULL,
menu_lib varchar(100) default NULL,
menu_url varchar(255) default NULL,
menu_titre varchar(100) default NULL,
menu_parent decimal(10,0) default NULL,
menu_visible tinyint(1) default NULL,
menu_ordre decimal(2,0) default NULL,
menu_action varchar(50) default NULL,
menu_icone_img varchar(255) default NULL,
menu_icone_flag tinyint(1) default '0',
menu_icone_title varchar(50) default NULL,
menu_deleted tinyint(1) default '0',
menu_tooltip varchar(25) default NULL,
menu_trace text,
menu_image varchar(255) default NULL,
menu_contextuel tinyint(1) default '0',
menu_logo varchar(255) default NULL,
menu_display int(1) default '0',
PRIMARY KEY (menu_code),
KEY association_109_fk (class_menu_code),
CONSTRAINT fk_association_109 FOREIGN KEY (class_menu_code) REFERENCES classe_menu (class_menu_code)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COMMENT='liste des menus du site'
ご覧のとおり、「classe_menu」はmasterテーブルで、「menu」はdetailテーブルです。しかし、マスター テーブル 'classe_menu' 内にはhierarchy、'class_menu_parent' 列によって実装される構造もあります。'classe_menu' 行は、rootそのhierarchy'class_menu_parent' がNULL.
今私が欲しいのは、すべての 'classe_menu'ルート行とすべての 'classe_menu' の 'menu' 行、つまりすべてのルート 'classe_menu' とそのすべてのchildren.
どうやってするか ?