我有3个表格:
CREATE TABLE [dbo].[ProductCategory](
[categoryID] [int] IDENTITY(1,1) NOT NULL,
[categoryParentID] [int] NULL,
[categoryName] [nvarchar](200) NOT NULL
)
CREATE TABLE [dbo].[Product]
(
[productID] [bigint] IDENTITY(1,1) NOT NULL,
[productName] [nvarchar(100)] NOT NULL,
.
.
)
CREATE TABLE [dbo].[ProductToCategoryLink]
(
[productID] [bigint] NOT NULL,
[categoryID] [int] NOT NULL
)
示例数据:
产品:
1,'Book_1';
2,'Book_2';
产品类别:
1,NULL,'图书';
2,1,'图书子类别级别1';
3,2,'图书子类别级别2';
4,3,'图书子类别级别3';
ProductToCategoryLink:
1,4;
2,2;
问题:如何获取每个产品所属的所有父级和子级类别?
因此,我需要获得类似于这样的内容:
产品ID,产品名称,类别ID,类别名称
1,'书籍_1',1,'书籍';
1,'书籍_1',2,'一级书籍子类别';
1,'书籍_1',3,'二级书籍子类别';
1,'书籍_1',4,'三级书籍子类别';
2,'书籍_2',1,'书籍';
2,'书籍_2',2,'一级书籍子类别';