три запроса в одном для выбора, обновления и удаления строк - PullRequest
0 голосов
/ 02 мая 2020

Дайте мне знать, если есть способ объединить три запроса в один.

Первый выбирает дублирующиеся строки, где поля 'codeAdherent' одинаковы.

Второй изменяет дубликаты строки поля 'codeFamilleArticle' в CODA.

Последние удаляют все дублирующиеся строки, кроме одной.

Ниже код:

       $req = $bdd->query("
            SELECT codeAdherent
            FROM mail_relance_test_un
            WHERE codeAdherent
            GROUP BY codeAdherent
            HAVING COUNT(codeAdherent) > 1
        ");

        $data = $req->fetchall(PDO::FETCH_COLUMN);

        foreach($data as $key=>$value){
            $bdd->query("
                UPDATE mail_relance_test_un 
                SET codeFamilleArticle = 'COTA'
                WHERE codeAdherent = '$value'
            ");
        }

        $bdd->query("
            DELETE t1 FROM mail_relance_test_un t1
            INNER JOIN mail_relance_test_un t2
            WHERE 
                t1.id < t2.id
            AND
                t1.codeAdherent = t2.codeAdherent
        ");
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...