我正在尝试进行查询并需要一些帮助(SQL Server)。
想象以下场景:用户正在查看一个包含多个相关类别的网页。根据某些规则,如果特定类别已与另一个类别组合,则不应显示该页面。
为此,我有两个表:
1)具有页面ID和相关类别的表:
Pk CategoryNumber
--------------------
1 30
1 31
1 45
2 30
3 21
3 26
3 64
4 25
4 12
5 25
5 31
5 30
5 45
2) 规则表。第一行的意思是:在查看包含类别30的页面时,如果该页面同时也有类别45,则不应检索出来。
WhenViewingCategoryNumber HideEverythingWithCategoryNumber
-------------------------------------------------------
30 45
25 31
预期输出:
2
3
4
我花费了几个小时在这个问题上,却没有任何进展,所以我希望有人能够帮助。如果可能的话,最好提供一个SELECT语句的答案,以便将其直接集成到更大的CTE语句中。非常感谢。