У меня есть таблица, которая содержит идентификаторы товара и категории:
create table SomeTable (
ItemId int,
CategoryId int
)
Учитывая некоторые идентификаторы категорий (Set X), я хотел бы определить все идентификаторы элементов, которые имеют хотя бы один идентификатор категории, и некоторые характеристики для каждого из этих идентификаторов элементов:
A - Количество идентификаторов категорий идентификатора элемента, которых нет в наборе x
B - Количество идентификаторов категорий, общих для идентификатора элемента и установленного x
C - Количество идентификаторов категорий в наборе x, но не связанных с идентификатором элемента
Я написал некоторый код tsql, который включает перекрестное соединение и несколько ctes плюс левые соединения. Это работает, но довольно медленно.
Я уверен, что кто-то столкнулся с подобной проблемой. Я хотел бы предоставить код, но приведенное выше описание упрощено. Спасибо.