Ich versuche, eine Volltextsuche für products.desc zu erstellen. Als Antwort möchte ichHolen Sie min() aus einer anderen Tabelle mit mehreren Beziehungen
- Produkte: id, ab
- Preise: Die niedrigste Preis-Reihe in Bezug auf Products.ID
- Lieferanten: ID, Name des Anbieters, dass der Preis anbietet.
Ich bin derzeit mit
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
Dies ist die richtige (niedrigsten) Preis Rückkehr, obwohl der Wert für alle anderen Preise. * - Zeilen Unbekannt/falsch ist. Seit GROUP BY prices.product_id holt die Spalten/Zeilen mit der niedrigsten 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
Thx, Obwohl es zurück: '# 1111 - Ungültige Verwendung von Gruppe function'? –
ah Entschuldigung, es zu beheben – Philipp
Ich fürchte, es funktioniert nicht. Diese Abfrage ruft alle Zeilen ab, die mit der Suchabfrage übereinstimmen. Auch es gruppiert sich nicht. Ich lese diese Suche, obwohl es nicht viel geholfen hat ..: http://stackoverflow.com/questions/12561774/mysql-fetching-lowest-value –