【发布时间】:2011-12-07 21:30:48
【问题描述】:
我有一张parents 的表格(表格中有真正的父母姓名),一张children 的表格(这些是父母的孩子,名字和姓氏)和一个x-ref 表格:外部参照-id, parent-id 和 child-id。
外部参照表用于容纳妈妈/爸爸组合可能拥有的可变数量的孩子。
我需要一个查询来返回一行父母和孩子的姓名。我面临的问题是有些父母有 1 个孩子,有些父母有 1 个以上的孩子。
我很困惑......
TLB_PARENT:
p_id, momfname, dadfname
TLB_CHILD:
c_id, childfname, childlname
TLB_XREF
xref_id, p_id, c_id
非常感谢任何帮助!
【问题讨论】:
-
为什么你想要/需要一个完全非规范化你拥有的完美规范化结构的查询?
-
检查这个问题和答案:stackoverflow.com/questions/451415/…
-
或者这个(对于不同的方法,使用 PIVOT 并为 10 个子名称生成 10 列 - 带有一些 NULL):stackoverflow.com/questions/198716/pivot-in-sql-2005
-
通过使用外部表来链接孩子和父母,您可以让孩子属于一对以上的父母。我认为您应该将
p_id引用直接放入TBL_CHILD表中。
标签: sql sql-server-2005 select