Create table Article
(
articleID int,
articlename nvarchar(50)
)
create table Category (
categoryId int,
categoryname nvarchar(50)
)
create table ArticleToCategory
(categoryid_fk int,
articleid_fk int
)
Select categoryID_fk,count(articleID_fk)
from ArticleToCategory Ac1
where not exists (select 1 from ArticleToCategory ac2 where ac1.articleid_fk=ac2.articleID_fk and ac1.categoriyid_fk<>ac1.categoryID_fk) group by categoryID_fk
Вышеупомянутое предоставит вам количество только тех статей для каждой категории, где эта статья не связана с другими категориями.
Select a.categoryID_fk,count(1)
from ArticleToCategory a where a.categoryid not in (
Select ac1.categoryID_fk
from ArticleToCategory Ac1
inner join ArticleToCategory ac2 on ac1.articleid_fk=ac2.articleID_fk and ac1.categoriyid_fk<>ac1.categoryID_fk)
abovequery даст вам счетчик для каждой категории, где ни один из соответствующей статьи не привязывается к другим категориям.
Пожалуйста, выберите соответствующий вариант.
Прохладный. Удачи. –