Ответ немного зависит от того, что вы хотите.
Если вас интересует только категория продукта с вопросом "есть ли у этого продукта хотя бы одна активная категория?"Ваш запрос будет выглядеть следующим образом ...
SELECT DISTINCT
ProductItem.sku,
ProductItem.title,
ProductItem.short_desc,
ProductItem.long_desc,
ProductItem.active,
ProductItem.product_item_id,
ProductCategoryMap.product_id,
Product.adwords_label,
ProductItem.item_price,
ProductItem.sale_price
FROM
Product
INNER JOIN ProductCategoryMap ON Product.product_id = ProductCategoryMap.product_id
INNER JOIN ProductCategory ON ProductCategoryMap.product_category_id = ProductCategory.product_category_id
FULL JOIN ProductItem ON Product.product_key = ProductItem.sku
WHERE
(ProductItem.active = 1) AND
(ProductCategory.active = 1)
Если вам не нужна категория, он будет выглядеть следующим образом ...
SELECT
ProductItem.sku,
ProductItem.title,
ProductItem.short_desc,
ProductItem.long_desc,
ProductItem.active,
ProductItem.product_item_id,
ProductCategoryMap.product_id,
Product.adwords_label,
ProductItem.item_price,
ProductItem.sale_price
FROM
Product
INNER JOIN ProductCategoryMap ON Product.product_id = ProductCategoryMap.product_id
ProductCategory.product_category_id
FULL JOIN ProductItem ON Product.product_key = ProductItem.sku
WHERE
(ProductItem.active = 1)
Если вы хотите включить activeимена категорий в виде списка CSV (просто обратите внимание на план выполнения, если это большой набор результатов) ....
SELECT ProductItem.sku,
ProductItem.title,
ProductItem.short_desc,
ProductItem.long_desc,
ProductItem.active,
ProductItem.product_item_id,
ProductCategory.category_desc,
ProductCategoryMap.product_id,
ProductCategory.active AS activecat,
Product.adwords_label,
ProductItem.item_price,
ProductItem.sale_price,
(SELECT substring((SELECT ( ', ' + CAST(PC.category_desc AS varchar(50)))
FROM ProductCategory PC
WHERE PC.product_category_id = ProductCategoryMap.product_category_id AND
PC.active = 1
FOR XML PATH( '' )
), 3, 8000 )
) AS ProductCategoriesCSV
FROM
Product
INNER JOIN ProductCategoryMap ON Product.product_id = ProductCategoryMap.product_id
INNER JOIN ProductCategory ON ProductCategoryMap.product_category_id = ProductCategory.product_category_id
FULL JOIN ProductItem ON Product.product_key = ProductItem.sku
WHERE
(ProductItem.active = 1)
HTH, -eric