Используя SQL, у меня есть 5 столбцов: ssn, фамилия, имя, RF и поле флага . Мне нужно пройти через эту таблицу, где 4 столбца соответствуют другой строке, а значение поля флага в этой строке равно 2050, а затем удалить эту запись 2050.
delete from MyTable m where flag = 2050 and exists ( select 1 from MyTable where MyTable.ssn = m.ssn and MyTable.lastname=m.lastname and MyTable.firstname=m.firstname and MyTable.RF=m.RF and MyTable.flag <> 2050 )
DELETE T1 FROM My_Table T1 INNER JOIN My_Table T2 ON T2.ssn = T1.ssn AND T2.last_name = T1.last_name AND T2.first_name = T1.first_name AND T2.RF_name = T1.RF_name AND T2.flag <> T1.flag WHERE T1.flag = 2050
delete from TableName as tn where tn.flag = 2050 and exists (select * from TableName as tn2 where tn.ssn = tn2.ssn and tn.lastname = tn2.lastname and tn.firstname = tn2.firstname and tn.rf = tn2.rf and tn2.flag <> 2050)
delete from Table1 where flag = 2050 and exists (select * from Table2 where ssn = Table1.ssn and lastname = Table1.lastname and firstname = Table1.firstname and rf = Table1.rf and flag <> 2050)