Внутреннее соединение с несколькими соответствующими записями
У меня есть 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, хотя их может быть много. Может кто-нибудь помочь с этим?
Благодарю.