Salve, stò cercando di fare una query utilizzando join per recuperare più dati incrociati tra loro.
Premetto che con le join c'ho capito sempre ben poco ( se conoscete una guida facile facile vi prego di darmela ). Il problema mi sorge quando arrivato ad aggiungere una tabella alla query questa mi tira fuori più di un solo risultato mentre a me servirebbe solo quello che in una determinata colonna contiene il numero più alto, di seguito il codice per cercare di farvi capire meglio:
codice:
$sql= "SELECT *, p.price FROM "._DB_PREFIX_."product p";
$sql.= " LEFT JOIN "._DB_PREFIX_."product_lang pl ON(p.id_product = pl.id_product) ";
$sql.= " LEFT JOIN "._DB_PREFIX_."tax t ON(p.id_tax_rules_group = t.id_tax)";
$sql.= " LEFT JOIN "._DB_PREFIX_."specific_price sp ON(p.id_product = sp.id_product)";
$sql.= " LEFT JOIN "._DB_PREFIX_."stock_available sa ON(p.id_product = sa.id_product)";
$sql.= " WHERE p.active = '1' AND sa.quantity > '0'";
$sql.= " ORDER BY p.date_add DESC, p.id_product DESC LIMIT $limit $offset";
In pratica arrivati a stock available mi tira fuori più di un risultato io vorrei che oltre a prendermi i record dove p.id_product = sa.id_product mi prendesse anche quello che fra quei risultati ha "quantity" più alta di tutti.
Possibile?
Grazie in anticipo!