Если у вас есть такие таблицы:
create table Products
(
pkProducts int not null primary key clustered,
Name varchar(256) not null,
....
)
create table Orders
(
pkOrders int not null primary key clustered,
Name varchar(256) not null,
....
)
Затем вы создадите объединительную таблицу, в которой будут храниться отношения «многие ко многим» между продуктами и заказами:
create table OrderProduct
(
fkOrders int foreign key references Orders (pkOrders),
fkProducts int foreign key references Products (pkProducts)
)
Если вы хотите получить все товары из определенного заказа (я использовал Name
для заказа, но вы можете использовать более подходящее поле для логики вашего домена):
select p.Name
from Products p
inner join OrderProduct op
on p.pkProducts = op.fkProducts
inner join Orders o
on o.pkOrders = op.fkOrders
where o.Name = 'Some Order Name'