从包含多层次结构的设计中检索记录

问题描述:

我有4个表格(Type01,Type02,Type03,Type04)。他们有不同的专栏。 Table Type01是3个子表(子类型01,子类型02,子类型03)的 父级。并且它与子女有一对一的关系 (父母中的每条记录对应于仅存在于 子女中的一个中的一条记录)。我想通过命令(插入日期)检索所有4个表(包括 相关子节点)的所有(使生活更轻松)记录。所以,我创建了一个具有通用ID为 类型的超级表。请看这张图。从包含多层次结构的设计中检索记录

enter image description here

现在,是提取4个表,包括表 类型01儿童的所有记录sql查询?这是最有效的设计(空间&检索速度)?

非常感谢。

+0

男人。对不起。我不知道这件事。真的。你能为我解释一下吗?再次,我不知道这一点。 – Roobah 2011-05-08 06:54:22

+0

好的。请任何答案。 – Roobah 2011-05-08 09:51:22

尝试:

SELECT Types.ID, COALESCE(SubType1.Name, Type2.Name, Type3.Name) as Name, 
    COALESCE(SubType2.Description, Type1.Description, Type2.Description) as Description, 
    ... 
FROM Types 
    LEFT JOIN SubType1 ON (Types.ID = SubType1.ID) 
    LEFT JOIN SubType2 ON (Types.ID = SubType2.ID) 
    ... 
WHERE ... 
ORDER BY Types.Insert_Date; 

填写你要返回,添加LEFT JOIN的所有叶子节点表中的各列,并添加WHERE条件。

+0

非常感谢。 – Roobah 2011-05-15 08:59:35