我正在编写一个在线商店。产品具有默认价格,但由于它可能具有不同的属性(颜色、尺寸……),这些不同的属性也可能导致不同的价格。目前我正在尝试生成一个 mysql 查询,它可以帮助我找到产品的最低和最高可能价格。目前使用 LEFT JOIN 将查询的结果减少到只有一行,我不知道为什么。
SELECT
products.id AS id,
categories.name AS category_name,
MIN(product_attributes.price) AS min_price, MAX(product_attributes.price) AS max_price,
products.*
FROM products
LEFT JOIN categories ON category_id=categories.id
LEFT JOIN product_attributes ON products.id=product_attributes.product_id
这甚至是正确的方法吗?我对mysql不太了解,我只是尝试尝试,如果它有效,我很高兴。无论如何感谢您的帮助。