У меня проблемы с поиском по нескольким условиям.
Пример: вы хотите купить обувь с атрибутами "Color Red" и "Size 10".
В моем результате я надеваюне знаю, как снять туфли, которые имеют только нужный цвет или размер (я имею в виду: я хочу выбрать только туфли, которые имеют все атрибуты).
Declare @Tbl_Atributes Table
(
[NameAttribute] nvarchar(250),
[ValueAttribute] nvarchar(250)
)
Declare @Tbl_Product Table
(
[Code] int,
[Name] nvarchar(250),
[NameAttribute] nvarchar(250),
[ValueAttribute] nvarchar(250)
)
Insert Into @Tbl_Atributes
values ('Color', 'Red'), ('Size', '10')
Insert Into @Tbl_Product ([Code], [Name], [NameAttribute], [ValueAttribute])
values ('1', 'Nike', 'Color', 'Red'),
('1', 'Nike', 'Color', 'Blue'),
('1', 'Nike', 'Size', '10'),
('2', 'Adidas', 'Size', '10')
Я хочу, чтобы товары имели все NameAttribute
в @Tbl_Atributes
.
Моя первая попытка:
select tp.*
from @Tbl_Product tp
inner join @Tbl_Atributes as ta on tp.NameAttribute = ta.NameAttribute
and tp.ValueAttribute = ta.ValueAttribute
Я столкнулся с проблемой: у продукта Adidas есть 1 атрибут Name: 'Size', и он все еще в результате.(Нам нужно 2 атрибута Имя: размер и цвет, только у Nike есть все)
Пожалуйста, помогите мне решить.Спасибо.