从同一个表

时间:2015-11-25 13:57:03

标签: sql-server select join categories

我看到了一个数据库场景,我必须检索单个表中的产品及其包。 注意:层次结构只是一个级别,例如,Package1 =>可乐。 Package2 =>炸薯条,汉堡。 Package3 =>咖啡等,即两列

我有三个表:产品,核心,层次结构。

产品保留其他产品的产品和包装。

核心 指定它是包装还是松散产品。

层次结构指定包ID

enter image description here

如何选择所有产品包及其产品,以便所有产品按其父/包分组? (即两列)

期望的输出:

enter image description here

1 个答案:

答案 0 :(得分:0)

这是简单的连接,因为您只有1级层次结构:

select p2.Name as Package, 
       p1.Name as [Product(Loose)]
from Hierarchy h
join Products p1 on h.ID = p1.ID
join Products p2 on h.ParentID = p2.ID