【发布时间】:2015-11-25 13:57:03
【问题描述】:
我看到了一个数据库场景,我必须在其中检索单个表中的产品及其包。 注意: 层次结构只是一层,例如 Package1 => Cola。 Package2 => 薯条,汉堡。 Package3 => 咖啡等,即两列
我有三个表:Products、Core、Hierarchy。
Products 存放产品和包含其他产品的包装。
Core 指定它是包装还是散装产品。
层次结构指定包 ID
如何选择所有包及其产品,以便所有产品按其父/包分组? (即两列)
期望的输出:
【问题讨论】:
-
毫无疑问,您使用递归 CTE,然后将产品表与最终 CTE 连接起来。抛出一些示例数据,然后我可以向您展示如何。还提到期望输出。
-
你从哪里得到
Coffe??你的桌子设计让我很生气。 -
如果您阅读说明,您将看到“咖啡等”。有没有。表中的虚拟数据不受限制。
-
我正在查看您的表格,但无法获取您的层次结构。您有 3 作为 2 的父级 - Package2 是 Cola 的父级。那么为什么在你的输出中 Packege2 有薯条和汉堡而不是可乐呢?
-
而Package1是它自己的父级? (按层次结构表中的第一行)。
标签: sql-server select join categories