JOIN中的复杂条件

时间:2013-09-04 13:16:42

标签: mysql sql

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

表产品的重要列

我,姓名

表价格的重要列

可用性,价格,供应商

我需要具有可用性>的JOIN Price 0和最低价格。

有关表现的更多详情:

  • 超过百万种产品意味着更多的价格
  • index在pri.ProductId上,但可以添加到更多

此外,我需要能够按产品名称或价格

订购这些结果

类似的东西:

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

1 个答案:

答案 0 :(得分: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