Sélectionner des enregistrements sur une jointure

J'ai deux tables mysql - une table de vente:

+----------------+------------------------------+------+-----+---------+-------+
| Field          | Type                         | Null | Key | Default | Extra |
+----------------+------------------------------+------+-----+---------+-------+
| StoreId        | bigint(20) unsigned          | NO   | PRI | NULL    |       |
| ItemId         | bigint(20) unsigned          | NO   |     | NULL    |       |
| SaleWeek       | int(10) unsigned             | NO   | PRI | NULL    |       |
+----------------+------------------------------+------+-----+---------+-------+

et une table articles:

+--------------------+------------------------------+------+-----+---------+-------+
| Field              | Type                         | Null | Key | Default | Extra |
+--------------------+------------------------------+------+-----+---------+-------+
| ItemId             | bigint(20) unsigned          | NO   | PRI | NULL    |       |
| ItemName           | varchar(100)                 | NO   |     | NULL    |       |
+--------------------+------------------------------+------+-----+---------+-------+

Les ventes table contient plusieurs enregistrements pour chaque ItemID - un pour chaque SaleWeek. Je veux sélectionner tous les articles sont vendus par de joindre les deux tables de la sorte:

SELECT items.ItemName, items.ItemId FROM items
JOIN sales ON items.ItemId = sales.ItemId 
WHERE sales.StoreID = ? ORDER BY sales.SaleWeek DESC;

Cependant, c'est le retour de plusieurs ItemId valeurs basées sur les entrées multiples pour chaque SaleWeek. Puis-je faire un distinct sélectionnez pour retourner uniquement un ItemID - je ne veux pas de requête pour la dernière SaleWeek parce que certains articles peuvent ne pas avoir une entrée pour la dernière SaleWeek donc j'ai besoin d'obtenir de la dernière vente. Ai-je besoin de préciser DISTINCTES ou utiliser un JOINTURE EXTERNE GAUCHE ou quelque chose?

Avez-vous essayé DISTINCTES? Il peut bousiller votre commande, en fonction de ce SGBD que vous utilisez...

OriginalL'auteur George | 2010-01-15