У меня есть две таблицы «Продукт», имеющие следующую структуру:
ProductID,ProductName, IsSaleTypeA, IsSaleTypeB, IsSaleTypeC
1, AAA, N, N, N
2, BBB, N, Y, N -- active
3, CCC, N, N, N
4, DDD, Y, N, N -- active
5, EEE, N, N, N
6, FFF, N, N, N
7, FFE, N, N, N
8, GGG, N, N, N
9, HHH, Y, N, N -- active
Вторая таблица «ProductAllowed» имеет следующую структуру, где ProductID - это строка, разделенная запятыми, которая содержит сочетание активных и неактивных идентификаторов продуктов в зависимости от режима IsSaleType
.
ProductCode, ProductIDs
AMRLSPN, "1,2"
AMRLOFD, "1,3"
BLGHVF, "2,4,6"
BLGHVO, "2,4"
BLGHVD, "3,5"
BLGSDO, "0"
CHOHVF, "1,6"
CHOHVP, "1,2,7,8"
Существует ли запрос t-sql, который будет возвращать список активных записей из таблицы "ProductAllowed", если для продукта включена или включена какая-либо из трех областей IsSaleType?
На основании данных примера записи ProductAllowed должны возвращать следующие записи:
AMRLSPN
BLGHVF
BLGHVO
BLGSDO
CHOHVP
Это необходимо применять в базе данных SQLSERVER 2000, содержащей записи aprox 150000.