php - MySQL between query returning redundant results -
का चयन करें webcal_entry.cal_id, webcal_entry.cal_name, webcal_entry.cal_priority, webcal_entry.cal_date, webcal_entry.cal_time, webcal_entry_user Cal_status, webcal_entry.cal_create_by, webcal_entry.cal_access, webcal_entry.cal_dation, webcal_entry_user.cal_category से वेबकल_ंट्री, webcal_entry_user WHERE Webcal_entry.cal_date के बीच '200 9 601' और '200 9 631'
जब मैं क्वेरी निष्पादित करें php वापस फेंकता है:
mysql_query (): परिणाम सेट को सहेजने में असमर्थ MySQL क्लाइंट स्मृति से बाहर हो गया
जब मैं परिणाम देखता हूं कि यह 2.8 मिलियन परिणाम वापस खींच रहा है। इस तालिका में 7,241 पंक्तियाँ हैं।
मुझे पता है कि मैं उपयोग कर सकता हूं, लेकिन मैं वास्तव में उस मार्ग को नहीं जाना चाहता।
किसी भी मदद के लिए धन्यवाद!
आप webcal_entry
और webcal_entry_user
तालिकाओं में अपने में शामिल हो रहे हैं से
खंड पर आपके पास webcal_entry_user
से आने वाली पंक्तियों को सीमित करने के लिए शामिल हों
या WHERE
की शर्तें नहीं हैं I इसका परिणाम दो तालिकाओं का कार्टेसियन उत्पाद होगा, जिसका मूल रूप से आप प्रत्येक webcal_entry
पंक्ति को मान्य cal_date
, गुणा / > webcal_entry_user
तालिका में पंक्तियों की संख्या से।
दूसरे शब्दों में, यदि आप webcal_entry_user
में 400 पंक्तियाँ हैं तो आपको 400 * 7241 वापस मिलेंगे = 2.8 मिलियन पंक्तियां! ओह!
Comments
Post a Comment