【发布时间】:2016-11-10 23:26:21
【问题描述】:
我正在尝试为 products.desc 创建全文搜索。作为回应我想要
- 产品:id、desc
- 价格:最低价格行相对于 products.id
- 供应商:id,提供该价格的供应商的名称。
我正在使用
SELECT products.id, MIN(prices.price) as prices_price, prices.id as prices_id, products.desc, products.product_number, prices.supplier_id, suppliers.name FROM products
INNER JOIN prices
ON prices.product_id = products.id
INNER JOIN suppliers
ON prices.supplier_id = suppliers.id
WHERE
MATCH (products.desc) AGAINST ('test*' IN BOOLEAN MODE)
GROUP BY prices.product_id
这将返回正确的(最低)价格,尽管所有其他价格的值。*-rows 未确定/错误。由于 GROUP BY prices.product_id 获取具有最低 ID 的列/行。
Products
id | desc
----------------------------------------
1 | product_1
2 | product_2
Prices
id | product_id | price | supplier_id
------------------------------------------------
1 | 1 | 100 | 1
2 | 1 | 150 | 2
3 | 2 | 200 | 2
4 | 2 | 250 | 1
Suppliers
id | name
------------------------------------------------
1 | Supplier1
2 | Supplier2
【问题讨论】:
标签: php mysql inner-join min