0

どちらにもfileIdフィールドとuserIdフィールドがあります

表1:fileId userId

表2:fileId userId

fileIdとuserIdに基づいて、テーブル1にない場合は、テーブル2からすべての行を削除したいと思います。1つのフィールドだけでなく両方に基づいて...

よろしく、J

4

4 に答える 4

1
delete from table2 
where fileid not in (select fileid from table1)
and userId not in (select userId from table1)
于 2012-07-10T10:27:52.713 に答える
0

TRY(id両方のテーブルの主キーであると想定)

DELETE FROM table2
WHERE id NOT IN ( 
        SELECT 'id' FROM table1 t1 
        INNER JOIN table2 t2 ON ( t1.field=t2.filed AND t1.userid = t2.userid)
        )
于 2012-07-10T10:28:20.013 に答える
0
DELETE FROM table2 WHERE userId NOT IN (SELECT userId from table1) AND 
                         fileId NOT IN (SELECT fileId from table1)
于 2012-07-10T10:29:45.943 に答える
0

このアプローチを確認してください。動作をテストしました。

CREATE table table1(field varchar(10),userid varchar(20));
CREATE table table2(field varchar(10),userid varchar(20));

insert into table1 values('10','vish');
insert into table1 values('11','atul');
insert into table1 values('12','nish');

insert into table2 values('10','vish');
insert into table2 values('11','atul');
insert into table2 values('13','paul');
insert into table2 values('14','ganesh');

DELETE from table2
WHERE NOT exists 
(select field+userid from table1 t1 where t1.field+userid = table2.field+userid);

SELECT * FROM table2;
于 2012-07-10T10:35:27.840 に答える