4

我有一个只有两个字段的类别表 - 即idcategoryname- 以及一个category_parent带有字段categoryid和的表parentid。两者都是categoryid.

所以我可以有多个父母或多个孩子的类别。

我的问题是:我怎样才能找到特定类别的所有父母或所有孩子?

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

对于这个问题,我更喜欢 C# 代码。

4

2 回答 2

1

没有必要 category_parent。你可以在一张桌子上做关于类别和父母的一切。

SELECT CatgoryId,Cat​​egoryName FROM Category WHERE ParentId 为 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]))
于 2012-07-24T09:04:26.697 回答
0

一种方法是使用递归公用表表达式 但我假设 MySQL 不支持这个(如果我错了请纠正我)所以你可能想要使用游标或存储过程。另请阅读这篇关于在 MySQL 中管理分层数据的文章

于 2012-07-22T00:59:02.687 回答