Rumah  >  Soal Jawab  >  teks badan

Kemas kini lajur contact_id setiap baris dengan from_address yang sama kepada nilai maksimum

Saya mempunyai pangkalan data dengan jadual yang dipanggil kenalan yang mengandungi senarai pelanggan dan jadual yang dipanggil helpdesk_tickets di mana setiap baris mewakili tiket meja bantuan daripada pelanggan.

Perisian mengalami ralat dan mencipta pendua dalam jadual kenalan (semua data kecuali id ​​adalah sama). Sebenarnya, dalam jadual helpdesk_tickets表中,一些电子邮件被分配给不同的客户id。我希望将所有具有相同电子邮件地址的工单分配给最新的client_id。这给我每个工单的最新client_id(基于helpdesk_tickets中的from_email, beberapa e-mel diberikan kepada id pelanggan yang berbeza. Saya mahu semua tiket dengan alamat e-mel yang sama diberikan kepada client_id yang terkini. Ini memberi saya client_id terbaharu untuk setiap tiket (berdasarkan lajur from_email dalam

):

SELECT from_address, MAX(contact_id) as a FROM helpdesk_tickets GROUP BY from_address HAVING COUNT(contact_id)>1;
from_addressKini saya perlu mengemas kini setiap baris dengan

yang sama kepada nilai maksimum yang dipilih di atas. Bagaimana untuk mencapai 🎜
P粉835428659P粉835428659369 hari yang lalu565

membalas semua(1)saya akan balas

  • P粉994092873

    P粉9940928732023-09-17 13:25:39

    Anda boleh menggunakan pautan kemas kini di sini:

    UPDATE helpdesk_tickets ht1
    INNER JOIN
    (
        SELECT from_address, MAX(contact_id) AS max_contact_id
        FROM helpdesk_tickets
        GROUP BY from_address
    ) ht2
        ON ht2.from_address = ht1.from_address
    SET
        contact_id = ht2.max_contact_id
    WHERE
        contact_id <> ht2.max_contact_id;
    

    balas
    0
  • Batalbalas