【发布时间】:2018-11-05 17:12:41
【问题描述】:
我正在使用包含父母及其子女的表格(称为 Table1)运行 Access 2016。父母在第一列中列出,他们的孩子在第二到第四列中显示,所有孩子都对应于同一行的父母。但是,每个父母的孩子数量各不相同,因此较高列号中的一些单元格是空白的:
Parent Children1 Children2 Children3 Children4 Children5
A A1 A2 A3 A4 A5
B B1 B2 -- -- --
C C1 C2 C3 -- --
有没有办法编写一个查询,将该表转换为每个子项分别对其父项的直接分配?我需要输出看起来像这样(空白单元格应被忽略):
Parent Children
A A1
A A2
A A3
A A4
A A5
B B1
B B2
C C1
C C2
C C3
从技术上讲,这应该类似于 table1 中所有列的笛卡尔积,但只是在每个父级的行内。我搜索了 cartesian product、transpose 和 transform 的访问函数方向,但找不到合适的示例。
谢谢
【问题讨论】:
-
利用这个机会将您的 Table1 结构从“Parent,Children1,Children2,ChildrenN”(每个父 ID 一行)解析为“Parent,Child”(每个父 ID 多行)一次全部。当前的表格布局没有用,您会因此而头疼。
标签: sql ms-access-2016