1

我的数据库中有 3 个表:sProduct、sProductDetail 和 sProductDetailWarehouse。这基本上是一个网店,单个产品可能有多个 EAN。例如,有多种颜色可供选择的 T 恤,每种颜色都是它自己的 EAN。

关于表格的重要部分:

sProduct 的 ID 是主键和标题(varchar)。sProductDetail 有 ID(主键)、ID_sProduct(与 sProduct 表的关联)、EAN 和标题 sProductDetailWarehouse 有 ID(主键)、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 条记录。问题是我不能使用 order by,因为查询中有多个产品需要按发布日期订购。

所以基本上每一个 sProduct.ID 我只需要返回一个 sProductDetail.ID 即使可能有很多。有人能帮忙吗?

谢谢。

4

0 回答 0