Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/sql-server-2005/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/opengl/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql server 2005 为更多类别创建表_Sql Server 2005 - Fatal编程技术网

Sql server 2005 为更多类别创建表

Sql server 2005 为更多类别创建表,sql-server-2005,Sql Server 2005,我需要知道一种合适的方法来创建包含以下信息的表:ID, 类别,子类别 该类别有更多的子类别,但我也可以添加新的子类别,子类别在未来,我试图创建两个表的类别和子类别,但我将面临一个至关重要的问题,在未来当我需要添加一个新的子类别 那么如何解决这个问题呢?您不需要超过2列 您只需要一个主键(ID)和一个外键(父ID) 使用此设置,您可以拥有无限数量的级别,因为您需要添加子类别等等,您只需要创建一个带有ParentCategoryID的表类别,类似于: 类别: Id 名称 ParentCategor

我需要知道一种合适的方法来创建包含以下信息的表:ID, 类别,子类别

该类别有更多的子类别,但我也可以添加新的子类别,子类别在未来,我试图创建两个表的类别和子类别,但我将面临一个至关重要的问题,在未来当我需要添加一个新的子类别


那么如何解决这个问题呢?

您不需要超过2列

您只需要一个主键(ID)和一个外键(父ID)


使用此设置,您可以拥有无限数量的级别

,因为您需要添加子类别等等,您只需要创建一个带有
ParentCategoryID
的表
类别
,类似于:

类别

  • Id
  • 名称
  • ParentCategoryID
然后,您可以使用使用CTE的递归查询来获取每个子类别的任何类别层次结构树

CategoryID_PK       INT
ParentCategory_FK   INT