我有3个表如下,
1. Link_products_price
DESC: unique_id|product_id|sub_category_id.
2. local_price
DESC: unique_id|price.
3. online_price
DESC: unique_id|price.
我想为给定的 product_id|sub_category_id 选择最低价格。
我想出了以下内容,
方法一:
SELECT MIN(price)
FROM local_price
WHERE unique_id IN (SELECT unique_id
FROM link_products_price
WHERE product_id=1
AND sub_category_id=1)
UNION
SELECT MIN(price)
FROM online_price
WHERE unique_id IN (SELECT unique_id
FROM link_products_price
WHERE product_id=1
AND sub_category_id=1)
LIMIT 1;
方法2:
在这 3 个表上创建一个带有 INNER JOIN 的视图,并在应用程序需要时从视图中查询 MIN(price)。
但是,视图只会在运行时执行查询。
请告诉我方法 1 中的查询是否可以,或者是否可以进一步优化并就该VIEW
方法提出建议。