【发布时间】:2019-04-26 10:50:41
【问题描述】:
我正在尝试删除来自父表的重复记录,我使用自联接。那么我怎样才能摆脱父表中的重复记录。 我的表结构是这样的
ID CategoryName ParentID IsActive
----+----------------+-----------+-----------
1 | Toyota | NULL | 1
2 | Honda | NULL | 1
3 | Mitsubhi | NULL | 1
4 | Toyota GLI | 1 | 1
5 | Toyota XLI | 1 | 1
6 | Swift | 1 | 1
7 | Honda Civic | 2 | 1
8 | Honda City | 2 | 1
我已经尝试使用 group by command & order by 进行自我加入,但它现在可以正常工作了
select a.CatogoryName,b.CatogoryName
from CategoryInfo a inner join
CategoryInfo b
on a.Id= b.ParentId
Group By a.CatogoryName, b.CatogoryName
结果
Category Name Model
Honda Honda City
Honda Honda Civic
Toyota Swift
Toyota Toyota GLI
Toyota Toyota XLI
我使用这个查询
select a.CatogoryName, b.CatogoryName
from CategoryInfo a inner join
CategoryInfo b
on a.Id = b.ParentId
结果
Category Name Model
Honda Honda City
Honda Honda Civic
Toyota Swift
Toyota Toyota GLI
Toyota Toyota XLI
预期结果
Category Name Model
Honda Honda City
Honda Civic
Toyota Swift
Toyota GLI
Toyota XLI
我希望单个类别名称像这样
【问题讨论】:
-
这种类型的格式最好作为应用程序级别来完成。
-
这是您的表示层要做的事情,而不是 SQL Server。
-
@GordonLinoff 我想在 mvc 中实现,但我得到的结果与 sql 中的结果相同,所以这就是我放置 sql 查询的原因
-
请参考answer
标签: c# sql sql-server asp.net-mvc