0

我想要这样的gridview数据:

CategoryName    Subcategory Name
--------------------------------
Abc             Abc1,abc2,abc3
Bcs             Bcs1,bcs2
def             Null / No Record

我怎样才能做到这一点?

好的,我想要使用单个表从数据库中获取数据。我有一个表类别,其中有categryid、parentid、name 等字段。当 parentid 为 0 时,它由类别知道,否则所有其他都是子类别。

我在 c# 中使用 asp.net,我想在 gridview 中使用 boundfield 执行此操作。对于我已经完成的类别,但对于子类别我不知道该怎么做。

子类别由其 parentid 标识。在子类别中 parentid =categryid

4

1 回答 1

0

假设您的表中的数据是这样的

类别 ID| 家长ID| 姓名 | 1 | 0 | 一个 |, 2 | 1 | B |, 3 | 0 | C |, 4 | 3 | D |

你可以做类似的事情

Create Table #ReportTable(Id identity int,CategoryId int,Category varchar(10),SubCategory Varchar(10))

Declare @CountOfRecords int = Select count(categoryid) from categories

Declare @TableIterator int = 1

While  @TableIterator <= @CountOfRecords
Begin

       Declare @ParentId int = (Select ParentId From Categories Where CategoryId=@TableIterator)   

       If @ParentId = 0
       Begin
             Insert Into #ReportTable(CategoryId,Category)
             Select CategoryId,Category  
             From Categories
             Where  CategoryId = @TableIterator
       End  
       Else
       Begin
             Update #ReportTable
             Set    SubCategory = 
             (Select SubCategory From Categories Where  CategoryId = @TableIterator)
             And Id = @ParentId   
       End

        Set @TableIterator = @TableIterator + 1
End
于 2013-01-29T14:07:04.920 回答