我有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