0

我有一个表产品,第二个价格。一种产品可以有多个价格。

表产品重要栏目

身份证、姓名

表价重要栏目

可用性、价格、供应商 ID

我需要可用性 > 0 且价格最低的 JOIN 价格。

有关性能的更多详细信息:

  • 超过百万种产品意味着更高的价格
  • 索引位于 pri.ProductId 但可以添加到更多

我还需要能够按产品名称或价格订购这些结果

就像是:

SELECT * FROM Products pro 
JOIN Prices pri ON pri.ProductId = pro.Id 
AND MIN(pri.Price) AND pri.Availability > 0
4

1 回答 1

1
SELECT * 
FROM Products pro 
JOIN 
(
  select ProductId, min(Price) as mprice, Availability
  from Prices
  where Availability > 0
  group by ProductId 
) pri on pri.ProductId = pro.Id 
于 2013-09-04T13:19:48.673 回答