c# - 类别层次结构

标签 c# mysql sql

我有一个只有两个字段的类别表 - 即 idcategoryname - 和一个包含字段 categoryid 的 category_parentparentid。两者都是 categoryid 的外键。

所以我可以为一个类别设置多个父项或多个子项。

我的问题是:如何找到特定类别的所有 parent 或所有 child ?

“所有 parent ”是指直系 parent 以及直系 parent 的 parent 等。我需要数组或列表中 parent 的 ID。

我更喜欢用 C# 代码来解决这个问题。

最佳答案

category_parent 不是必需的。你可以在一张表上做所有关于类别和父级的事情。

SELECT CatgoryId,Cat​​egoryName 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/

相关文章:

php - 如何从触发器 MySQL 更新多个列

mysql - 我如何使用mysql获取最近10天的记录

SQL Server 外键不允许我使用级联添加约束(删除或更新时)

c# - 如何跳出嵌套的 for 循环

c# - Visa 或 Mastercard 的测试数据

mysql - 结果中有 ORDER BY 列时避免文件排序

sql - 在 postgres 中,是否有一种简单的方法可以将多个 attr/val 行选择到一条记录中?

c# - C#在 'x'行数之后暂停streamreader输出,然后继续

c# - AutoFixture,从预定义列表中随机选择

php - SQL表-数据管理