我有一个只有两个字段的类别表 - 即 id
和 categoryname
- 和一个包含字段 categoryid 的
和 category_parent
表parentid
。两者都是 categoryid
的外键。
所以我可以为一个类别设置多个父项或多个子项。
我的问题是:如何找到特定类别的所有 parent 或所有 child ?
“所有 parent ”是指直系 parent 以及直系 parent 的 parent 等。我需要数组或列表中 parent 的 ID。
我更喜欢用 C# 代码来解决这个问题。
最佳答案
category_parent 不是必需的。你可以在一张表上做所有关于类别和父级的事情。
SELECT CatgoryId,CategoryName FROM Category WHERE ParentId is null >>> 这是主要类别
SELECT CategoryId, CategoryName FROM Category WHERE ParentId=2 >>> 用于特定类别
CREATE TABLE [dbo].[Category](
[CategoryId] [int] IDENTITY(1,1) NOT NULL,
[CategoryName] [nvarchar](50) NOT NULL,
[ParentId] [int] FOREIGN KEY REFERENCES [dbo].[Category] ([CategoryId]))
关于c# - 类别层次结构,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11592285/