Внутреннее соединение с несколькими соответствующими записями

У меня есть 3 таблицы в моей базе данных: sProduct, sProductDetail и sProductDetailWarehouse. По сути, это интернет-магазин, в котором для одного продукта можно использовать несколько EAN. Например, футболка с несколькими доступными цветами, каждый из которых является собственным EAN.

Важные сведения о таблицах:

sProduct имеет идентификатор, который является первичным ключом и заголовком (varchar). sProductDetail имеет идентификатор (первичный ключ), ID_sProduct (корреляция с таблицей sProduct), EAN и заголовок. sProductDetailWarehouse имеет идентификатор (первичный ключ), ID_sProductDetail (корреляция с таблицей сведений) и запас (int).

Я хотел бы использовать что-то похожее на это:

select pd.ID,pd.title,pdw.stock from sProduct p 
inner join sProductDetail pd on pd.ID_sProduct=p.ID 
left join sProductDetailWarehouse pdw on pdw.ID_sProductDetail=pd.ID

и только он вернет 1 запись о соединении с самым высоким запасом. Проблема в том, что я не могу использовать заказ по, поскольку у меня есть несколько продуктов в запросе, которые необходимо упорядочить по дате их выпуска.

Таким образом, в основном из каждого sProduct.ID мне понадобится только один sProductDetail.ID, хотя их может быть много. Может кто-нибудь помочь с этим?

Благодарю.

0 ответов

Другие вопросы по тегам