मैं दो mysql टेबल है - एक बिक्री तालिका:पर अलग रिकॉर्ड का चयन एक में शामिल होने के
+----------------+------------------------------+------+-----+---------+-------+
| 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 | |
+----------------+------------------------------+------+-----+---------+-------+
और एक आइटम तालिका:
+--------------------+------------------------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+--------------------+------------------------------+------+-----+---------+-------+
| ItemId | bigint(20) unsigned | NO | PRI | NULL | |
| ItemName | varchar(100) | NO | | NULL | |
+--------------------+------------------------------+------+-----+---------+-------+
बिक्री तालिका प्रत्येक ItemID के लिए कई रिकॉर्ड शामिल हैं - प्रत्येक सेलविक के लिए एक। मैं दो तालिकाओं इसलिए की तरह शामिल होने से बेचा सभी आइटम का चयन करना चाहते:
SELECT items.ItemName, items.ItemId FROM items
JOIN sales ON items.ItemId = sales.ItemId
WHERE sales.StoreID = ? ORDER BY sales.SaleWeek DESC;
बहरहाल, यह प्रत्येक SaleWeek के लिए कई प्रविष्टियों के आधार पर कई लौटने Itemid मूल्यों। मैं करने के लिए एक अलग चयन कर सकते हैं केवल एक ItemID वापसी - मैं नवीनतम SaleWeek के लिए क्वेरी करने के लिए, क्योंकि कुछ आइटम नवीनतम SaleWeek के लिए एक प्रवेश नहीं हो सकता है नहीं करना चाहती तो मैं पिछले प्राप्त करने की आवश्यकता बिक्री। क्या मुझे DISTINCT निर्दिष्ट करने की आवश्यकता है या बाएं बाहरी जॉइन या कुछ का उपयोग करने की आवश्यकता है?
क्या आपने DISTINCT की कोशिश की है? आपके द्वारा उपयोग किए जाने वाले डीबीएमएस के आधार पर यह आपके आदेश को खराब कर सकता है ... –