SQLを使用して、私は5列:ssn、姓、名、RFとフラグフィールドを持っています。私はこのテーブルを通過する必要があり、4列が別の行に等しく、その行のフラグフィールドの値が2050に等しい場合、その2050レコードを削除します。あなたは、印刷でそれを見たらみんなが、それはかなり単純現れる複数の列が一致する行を削除同じテーブル
4
A
答えて
8
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
)
2
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)
4
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
1
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)
おかげ.. は本当に助けに感謝... –