Trong cơ sở dữ liệu mysql, tôi có một bảng Đơn vị kinh doanh duy trì hệ thống phân cấp của các đơn vị kinh doanh của khách hàng. Mỗi đơn vị kinh doanh có thể có một phụ huynh và/hoặc một đứa trẻ.mysql - Lưu giữ hồ sơ duy nhất sau khi xóa mối quan hệ cha mẹ con
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
Hiện nay, tôi có một bảng ID khách hàng mà duy trì ID khách hàng ở mức độ đơn vị kinh doanh
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
Trong tương lai , Tôi không muốn duy trì custo mer id ở cấp đơn vị kinh doanh cá nhân. Nó phải là duy nhất cho một globalId đã cho. Đối với điều này, tôi muốn di chuyển dữ liệu id khách hàng hiện tại dựa trên điều kiện sau.
Nếu globalId có customerId cho một BU duy nhất, hãy di chuyển nó vì không có bu_id.
Nếu globalId có customerId cho 2 BU (chúng có thể là cha mẹ-con ở mọi cấp độ), hãy giữ ID khách hàng của cha mẹ có sẵn BU nhất.
cần bảng 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
PS: globalId không chồng chéo giữa các cha mẹ khác nhau hầu hết xe buýt.
bảng business_unit nằm trong lược đồ products_client_1 và bảng buid_customer_id nằm trong lược đồ contacts_client_1.
Mã giống nhau phải được thực thi cho các khách hàng khác nhau.
Đây là lần di chuyển một lần.
Cần trợ giúp khi viết truy vấn.
Bạn có muốn xóa các hàng trong bảng 'buid_customer_id' không? –
Điều gì xác định "khả dụng nhất"? Trong dữ liệu mẫu của bạn, vui lòng đánh dấu những dữ liệu nào cần xóa. –
Tôi muốn cột BU_ID bị xóa. Hiện tại, khóa chính là Global_id + BU_ID. Khách hàng_id ở cấp BU. Bây giờ tôi muốn loại bỏ ràng buộc này và lưu trữ nó ở cấp độ máy khách. Dữ liệu hiện có sẽ được di chuyển sang bảng mới chỉ có Global_id làm khóa chính. –