从包含多层次结构的设计中检索记录
问题描述:
我有4个表格(Type01,Type02,Type03,Type04)。他们有不同的专栏。 Table Type01是3个子表(子类型01,子类型02,子类型03)的 父级。并且它与子女有一对一的关系 (父母中的每条记录对应于仅存在于 子女中的一个中的一条记录)。我想通过命令(插入日期)检索所有4个表(包括 相关子节点)的所有(使生活更轻松)记录。所以,我创建了一个具有通用ID为 类型的超级表。请看这张图。从包含多层次结构的设计中检索记录
现在,是提取4个表,包括表 类型01儿童的所有记录sql查询?这是最有效的设计(空间&检索速度)?
非常感谢。
答
尝试:
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
男人。对不起。我不知道这件事。真的。你能为我解释一下吗?再次,我不知道这一点。 – Roobah 2011-05-08 06:54:22
好的。请任何答案。 – Roobah 2011-05-08 09:51:22