निकालते हुए एक mysql डेटाबेस में के बाद अनूठा रिकॉर्ड, मैं एक व्यवसाय यूनिट तालिका जो एक ग्राहक के व्यापार इकाइयों का पदानुक्रम को बनाए रखने की है। प्रत्येक व्यावसायिक इकाई में माता-पिता और/या बच्चे हो सकते हैं।mysql - रखते हुए माता-पिता बच्चे का रिश्ता
products_client_1.business_units
id parent_id
1
2 1
3 1
4 1
8 1
14 3
17 2
31 1
35 4
36 1
37 4
38 2
39 31
40 8
41 3
42 31
43
44 43
वर्तमान में, मैं एक ग्राहक आईडी तालिका जो एक व्यापार इकाई स्तर
contacts_client_1.buid_customer_id
global_id customer_id bu_id
ABC1000033 1812130 2
ABC1000033 1812130 54
ABC1000034 4049809 2
ABC1000035 5630631 2
ABC1000082 5707052 2
ABC1000082 1111116 54
ABC1000091 5813085 2
ABC1000091 5813085 54
ABC1000093 5208477 2
ABC1000115 5045891 2
ABC1000115 5045891 54
ABC1000117 6114245 2
ABC1000117 6114247 54
ABC1000117 6114247 1
ABC1000111 1234567 38
ABC1000100 9023456 43
ABC1000100 9023457 44
आने वाले समय में कम से ग्राहक आईडी का कहना है , मैं custo को बनाए रखना नहीं चाहता व्यक्तिगत व्यापार इकाई स्तर पर मेर आईडी। यह किसी दिए गए वैश्विक आईडी के लिए अद्वितीय होना चाहिए। इसके लिए मैं निम्नलिखित स्थिति के आधार पर मौजूदा ग्राहक आईडी डेटा माइग्रेट करना चाहता हूं।
यदि किसी वैश्विक आईडी में ग्राहक केवल एक ही बीयू के लिए है, तो इसे माइग्रेट करें क्योंकि यह bu_id के बिना है।
यदि वैश्विक आईडी में ग्राहक 2 बीयू के लिए ग्राहक हैं (वे किसी भी स्तर पर माता-पिता हो सकते हैं), ग्राहक को सबसे अधिक उपलब्ध बीयू के ग्राहक रखें।
आवश्यक तालिका contacts_client_1.customer_id
global_id customer_id
ABC1000033 1812130
ABC1000034 4049809
ABC1000035 5630631
ABC1000082 5707052
ABC1000091 5813085
ABC1000093 5208477
ABC1000100 9023456
ABC1000111 1234567
ABC1000115 5045891
ABC1000117 6114247
पुनश्च: globalId अलग माता पिता सबसे बीयू के बीच अतिव्यापी नहीं हैं।
business_unit तालिका products_client_1 स्कीमा के अधीन है और buid_customer_id तालिका contacts_client_1 स्कीमा के अधीन है।
एक ही कोड विभिन्न ग्राहकों के लिए निष्पादन योग्य होना चाहिए।
यह एक बार माइग्रेशन है।
क्वेरी लिखित रूप में की आवश्यकता है।
साथ
global_id
औरcustomer_id
कॉपी कर सकते हैं आप 'buid_customer_id' तालिका में पंक्तियों को हटाना चाहते हैं? –क्या "सबसे अधिक उपलब्ध" निर्धारित करता है? अपने नमूना डेटा में, कृपया चिह्नित करें कि कौन से लोगों को हटाया जाना चाहिए। –
मैं चाहता हूं कि BU_ID कॉलम हटा दिया जाए। अभी तक, प्राथमिक कुंजी Global_id + BU_ID है। ग्राहक_आईडी बीयू स्तर पर है। अब मैं इस बाधा को हटाना चाहता हूं और इसे क्लाइंट स्तर पर स्टोर करना चाहता हूं। मौजूदा डेटा को नई तालिका में माइग्रेट किया जाना चाहिए जिसमें केवल प्राथमिक कुंजी के रूप में Global_id है। –