Monday 15 April 2013

Correct MySQL JOIN format to avoid nested SELECT -


मेरे पास दो अलग-अलग SELECT कथन हैं:

  SELECT VCe.VId FROM `VCe 'WHERE `वाईआईडी` = 9 007 और` माईड` = 76 और `मोइद` = 2851 का चयन करें r_pts.p_id से r_pts जहां r_pts.v_id IN (57202, 57203, 69597, 82261, 82260, 69596, 69595, 82259)  < / Pre> 

जब वे अलग से चलाए जाते हैं, वे दोनों .05sec के तहत पूर्ण होते हैं, लेकिन जब मैं दूसरे के अंदर पहली बार घोंसले करता हूं, तो यह नाटकीय रूप से 3.3 सेकंड तक बढ़ जाता है।

मैं एक शामिल करना चाहता हूं इसलिए कि मैं दूसरे चयन में आउटपुट को IN () के लिए निर्धारित परिणाम के रूप में पहले चयन का उपयोग कर सकता हूं, लेकिन मुझे यह पता नहीं लगा कि एक JOIN में WHERE स्थितियों को कैसे शामिल करना है।

संपादित करें: इसके अलावा क्या मैं अनुरोध कर रहा हूँ के रूप में शामिल करने के लिए सही सिंटैक्स?

आपकी मदद के लिए धन्यवाद, इसकी सराहना!

  का चयन r_pts.p_id r_pts से, 'वीसीई' कहां r_pts.v_id = VCe.VId और VCe.YId = 9007 और VCe.MaId = 76 और VCe.MoId = 2851  

जुड़ने का मूल लक्ष्य यह है कि दो तालिकाओं से संबंधित कैसे हैं। मैंने आपके उदाहरण से अनुमान लगाया है कि आरआईपीएस तालिका में v_id कॉलम एक विदेशी कुंजी थी जो वीसीई टेबल में विद प्राथमिक कुंजी का संकेत था। जब आप क्वेरी में एक शब्द जोड़ते हैं (जैसे "r_pts.v_id = VCe.VId") जिसमें प्रत्येक तालिका से जुड़ना चाहते हैं जिसमें से एक फ़ील्ड है, जो डेटाबेस को बताता है कि "आभासी बनाने के लिए तालिकाओं के बीच की पंक्तियों को कैसे मिलान किया जाए पंक्तियाँ "में दोनों तालिकाओं से स्तंभ होते हैं आपकी अन्य क्वेरी शब्दों की सीमा से सीमा निर्धारित की गई है।


No comments:

Post a Comment