我有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,'Books Subcategory lvl_1';
3,2,'Books Subcategory lvl_2';
4,3,'Books Subcategory lvl_3';
ProductToCategoryLink:
1,4;
2,2;
问题:如何获取每个产品所属的所有父级和子级类别?
所以,我需要得到的东西是这样的:
的productID,产品名称,的categoryID,类别名称
1, 'Book_1',1, '图书';
1,'Book_1',2,'Books Subcategory lvl_1';
1,'Book_1',3,'Books Subcategory lvl_2';
1,'Book_1',4,'Books Subcategory lvl_3';
2,'Book_2',1,'Books';
2,'Book_2',2,'Books Subcategory lvl_1';
非常酷的,从来没有听说过的CTE之前。这将会在一些旧的项目中派上用场:) – CodeMonkey1313 2010-12-03 12:13:37