recherche

Maison  >  Questions et réponses  >  le corps du texte

Mettez à jour la colonne contact_id de chaque ligne avec la même from_address à la valeur maximale

J'ai une base de données avec une table appelée contacts qui contient une liste de clients, et une table appelée helpdesk_tickets où chaque ligne représente un ticket d'assistance d'un client.

Le logiciel a rencontré une erreur et a créé des doublons dans la table des contacts (toutes les données sauf l'identifiant sont les mêmes). En effet, dans le tableau helpdesk_tickets表中,一些电子邮件被分配给不同的客户id。我希望将所有具有相同电子邮件地址的工单分配给最新的client_id。这给我每个工单的最新client_id(基于helpdesk_tickets中的from_email, certains emails sont attribués à différents identifiants clients. Je souhaite que tous les tickets avec la même adresse e-mail soient attribués au dernier client_id. Cela me donne le dernier client_id pour chaque ticket (basé sur la colonne from_email dans

) :

SELECT from_address, MAX(contact_id) as a FROM helpdesk_tickets GROUP BY from_address HAVING COUNT(contact_id)>1;
from_addressMaintenant, je dois mettre à jour chaque ligne avec le même

à la valeur maximale sélectionnée ci-dessus. Comment y parvenir ? 🎜
P粉835428659P粉835428659437 Il y a quelques jours620

répondre à tous(1)je répondrai

  • P粉994092873

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

    Vous pouvez utiliser le lien de mise à jour ici :

    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;
    

    répondre
    0
  • Annulerrépondre