CREATE TABLE [dbo].[Categories](
[ID] [int] IDENTITY(1,1) NOT NULL,
[CategoryName] [nvarchar](100) NOT NULL,
[ParentID] [int] NULL,
[DepartmentID] [int] NULL)
CREATE TABLE [dbo].[ArticleCategories](
[ArticleID] [int] NOT NULL,
[CategoryID] [int] NOT NULL)
比如某个部门id为106
由于程序设计失误,只有parentid 为null,也就是顶级栏目的departmentid 才为106,其他则有可能是超级管理员所在的departmentid.
现在我在存储过程里,要用一个语句列出这个部门下的所有子栏目,用来选出栏目文章
select distinct a.ID from Article a
INNER JOIN ArticleCategories ac ON ac.ArticleID=a.ID AND ac.IsQuote=0
INNER JOIN Categories c on ac.CategoryID=c.ID AND DepartmentID=@DepartmentID AND c.IsDeleted=0
以上这个语句达不到我要的结果。需要再把各个顶级栏目下的子栏目文章也加进来
------解决思路----------------------
数据都不正确怎么可能,谁知道谁是谁的栏目,两个需要关联的字段都有问题~~
要处理这个,还得先自己更正好数据