Aktualisieren Sie die Spalte „contact_id' jeder Zeile mit derselben from_address auf den Maximalwert
P粉835428659
P粉835428659 2023-09-16 17:40:45
0
1
643

Ich habe eine Datenbank mit einer Tabelle namens Kontakte, die eine Liste von Kunden enthält, und einer Tabelle namens helpdesk_tickets, in der jede Zeile ein Helpdesk-Ticket eines Kunden darstellt.

Die Software hat einen Fehler festgestellt und Duplikate in der Kontakttabelle erstellt (alle Daten außer der ID sind gleich). Tatsächlich sind in der helpdesk_tickets表中,一些电子邮件被分配给不同的客户id。我希望将所有具有相同电子邮件地址的工单分配给最新的client_id。这给我每个工单的最新client_id(基于helpdesk_tickets中的from_email-Tabelle einige E-Mails unterschiedlichen Kunden-IDs zugeordnet. Ich möchte, dass alle Tickets mit derselben E-Mail-Adresse der neuesten client_id zugewiesen werden. Dadurch erhalte ich die neueste client_id für jedes Ticket (basierend auf der Spalte from_email in

):

SELECT from_address, MAX(contact_id) as a FROM helpdesk_tickets GROUP BY from_address HAVING COUNT(contact_id)>1;
from_addressJetzt muss ich jede Zeile mit dem gleichen

auf den oben ausgewählten Maximalwert aktualisieren. Wie erreichen? 🎜
P粉835428659
P粉835428659

Antworte allen(1)
P粉994092873

你可以在这里使用更新连接:

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;
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage