У меня есть это утверждение:
UPDATE `tblAllocatedLeads`
SET tblAllocatedLeads.fldAllocatedStatus = CASE
WHEN tblAllocatedLeads.fldAllocatedStatus = 'Allocated'
AND
(SELECT COUNT(*) FROM (SELECT * FROM `tblAllocatedLeads`) AS tblallocate WHERE AND tblallocate.fldAllocatedLeadId = tblAllocatedLeads.fldAllocatedLeadId) > 1
THEN 'Outstanding'
END
Я хотел бы обновить все строки, где fldAllocatedStatus = 'Allocated' до 'Outstanding', в котором есть одно или несколько одинаковых значений столбца fldAllocatedLeadId в другие строки.
мои данные
ID fldAllocatedStatus fldAllocatedLeadId
1 Accepted 123
2 Rejected 123
3 Allocated 123
4 Allocated 321
В этом случае ID = 3 должно обновить fldAllocatedStatus до «Выдающийся», поскольку он имеет один или несколько одинаковых fldAllocatedLeadId из ID = 1,2
и ID = 4 должен оставаться «Выделенным» поскольку он не имеет совпадения fldAllocatedLeadId с другими строками.
прямо сейчас, что он делает, он обновляет даже "Принято, отклонено" , которое предположительно должно обновляться только строки с «Выделено»