sql 语句求解
表数据如下:
-----------------
A a1 ...其他字段
A a2
B b1
C c1
------------------
现在想根据前两个字段删除数据,
例如有数据:
A a1
C c1
我想把前两个字段不是这个的都删了(即删掉A a2和B b1),sql语句怎么写
[解决办法]
你例如中的数据是哪里来的?临时表还是其他有的表?
--记得用测试库哈~!delete tfrom 原表 t left join 参照数据表 e on t.字段1 = e.字段1 and t.字段2 = e.字段2where e.字段1 is null
[解决办法]
DELETE T FROM T WHERE NOT EXISTS(SELECT 1 FROM TC WHERE COL1=T.COL1 AND COL2=T.COL2)
?
[解决办法]
CREATE TABLE TA (COL1 VARCHAR(12),COL2 VARCHAR(12))INSERT TA SELECT 'A','a1' union select 'A','a2'union select 'B','b1' union select 'C','c1'delete from ta where not exists (select 1 from (select * from TA where (col1='A' AND col2='a1') or (col1='C' AND col2='c1'))a where col1=ta.col1 and a.col2=ta.col2)/*COL1 COL2A a1C c1*/
[解决办法]
delete from tab where not exists ( select * from tab where A='a1' and C='c1')