statuses s1 ON l1.status_id = s1.id, leads l2 LEFT JOIN statuses s2 ON l2.status_id = s2.id WHERE l1.id > l2.id AND l1.phone = l2.phone AND s1.pipeline_id = s2.pipeline_id
нужно удалить из leads все с одинаковым phone и заджойненным pipeline_id из statuses, кроме самого первого из повторных
возможно и рабочий, но ситуативный, правильнее было бы через оконные функции
0) какой-то миск из JOIN-ов и перечисления таблиц через запятую во FROM... Как минимум, это нечитаемо, как максимум, СУБД не поймёт. 1) LEFT JOIN - неправильно использовать тут, потому что ты фильтруешь записи тут, потому что у тебя DELETE, а внешний JOIN НЕ ПОДРАЗУМЕВАЕТ фильтрацию. По факту у тебя JOIN ВСЁ РАВНО НЕ ВНЕШНИЙ, поскольку поля обеих таблиц участвуют в WHERE. Подозреваю, что логика запроса также может быть нарушена.
Обсуждают сегодня