我有一张价格信息表如下图所示,我试图查询数据库给我回到'项目'和最便宜的供应商价值。
因此对于下表,它将是
这可能与sql querys有关,还是需要输出所有值然后用php(或选择的语言)过滤它们?
答案 0 :(得分:6)
使用LEAST()
select item, least(supplier1, supplier2, supplier3)
from your_table
答案 1 :(得分:1)
更改架构。
表suppliers
supplier_id supplier_name
1 Supplier 1
2 Supplier 2
3 Supplier 3
表products
product_id product_name
1 Bike
2 Shoe
3 Ball
表prices
product_id supplier_id price
1 1 125.65
1 2 132.01
1 3 120.43
2 1 23.99
2 2 19.99
2 3 25.96
3 1 5.50
3 2 8.65
3 3 6.50
您的查询
SELECT product_name, supplier_name, price
FROM prices
INNER JOIN products ON products.product_id = prices.product_id
INNER JOIN suppliers ON suppliers.supplier_id = prices.supplier_id
GROUP BY prices.product_id
HAVING price = MIN(prices.price)