mysql - Conditional Join tables structure -


मेरे पास ये तीन टेबल हैं:

  1. PARTY_ANIMALS [आईडी, ...] -> पार्टी में भाग लेने वाले सभी जानवरों में शामिल हैं

  2. DOGS [ ID, id_dog, name_dog] -> में संबंधित नाम के साथ कुत्तों की एक सूची है

  3. CATS [आईडी, id_cat] , Name_cat] -> में संबंधित नाम के साथ बिल्लियों की एक सूची है

मैं एक प्रश्न निष्पादित करता हूं जो PART_ANIMALS लाने और कुत्तों या कैट आधारित

PARTY_ANIMALS (फिर एक सशर्त शामिल होने पर) में कुछ मानों पर और मुझे इस तरह से बनाये गये परिणाम तालिका को वापस दो:

RESULT_TABLE [animal_type, id (id_dog या id_cat), नाम (Name_dog या name_cat)]।

यह सही तरीका क्या है? PARTY_ANIMALS तालिका में मेरे मूल्यों को सही ढंग से दूसरे तालिकाओं के साथ जोड़ने की क्या जरूरत है? और मुझे किस तरह की क्वेरी को मेरी परिणाम तालिका प्राप्त करने की आवश्यकता है?

मैं बाएं और कोलासेज () में शामिल होने के लिए चुनें (उदाहरण जब id_cat रिक्त नहीं है तो 'बिल्ली' और 'कुत्ते' अंत) जानवर के प्रकार के रूप में, संगठित करें ( C.id_cat, d.id_dog) आईडी के रूप में, संलक्ष्य (c.name_cat, d.name_dog) पार्टी_एनिमल्स से नाम के रूप में pa छोड़ दिया c.id = c.id_cat पर cats c पर छोड़ दिया pa.id = d.id_dog पर कुत्तों में शामिल हो गए ;

यह एसक्यूएल इंजन को जुड़ने s के लिए इंडेक्स का इस्तेमाल करने की अनुमति देगा।

इसके अलावा, आपको सावधान रहना होगा कि आईडी बिल्लियों और कुत्ते के कॉलम में अलग-अलग मान हैं या, कम से कम जब तक कोई वैज्ञानिक संकर बिल्ली-कुत्ते को बनाने के लिए तैयार नहीं हो सकता।


Comments