Confusing MySQL query -
मेरे पास दो टेबल, कर्मचारी और फ़ोन है।
कर्मचारी में केवल एक फ़ील्ड है, staff_id । फ़ोन के तीन फ़ील्ड हैं: कर्मचारी_आईडी , फोन_प्रकार और संख्या ।
मैं प्रदर्शित करना चाहता हूं स्टाफ_आईडी, सेल फोन नंबर और सभी स्टाफ सदस्यों के घर का फोन नंबर। लेकिन मुझे पता नहीं है कि सेल फोन नंबर और घर के फोन नंबर को नतीजे में अलग कॉलम के रूप में कैसे रखा जाए। यहां तक कि मैं जो भी कोशिश कर रहा हूं, वह उसी कॉलम में दोनों प्रकार की संख्याएं डालता है।
चुनें कर्मचारी। Staff_id, phones.number से कर्मचारियों को छोड़ें फ़ोनों पर (staff.staff_id = Phones.staff_id & amp; (phones.field_type = 'cell' || phone.field_type = 'होम'))
आपको एक धुरी क्वेरी का उपयोग करने की आवश्यकता है, नीचे कोई अनचेस्टर कोड जैसा कुछ नहीं:
कर्मचारी का चयन करें। Staff_id, MAX (IF (phones.field_type = 'Cell' , फोन, नंबर, नल)) के रूप में सेल, मैक्स (IF (phones.field_type = 'Home', phones.number, null)) स्टाफ से घर के रूप में, फ़ोनों पर फोन। Staff_id = staff.staff_id समूह staff.staff_id < नोट: - कई बार फोन टेबल के साथ जुड़ने से भी काम आएगा, लेकिन इसके बाद के समाधान को बेहतर प्रदर्शन करना चाहिए और इसे आसानी से अतिरिक्त फोन के लिए बढ़ाया जा सकता है .field_types। यह भी देखें ("धुएं" के लिए खोज करें।)
Comments
Post a Comment