2014-10-29 147 views
1

嗨我已经在数据库中创建了两个表。一个是omconst另一个则omstarline使用以下SQL:SQL删除语句

CREATE TABLE "omconst" ([id] INTEGER NOT NULL UNIQUE, 

[hr] INTEGER, 

[name] TEXT, 

[vmag] REAL, 

PRIMARY KEY(id) 

) 

CREATE TABLE [omstarline] ([id] INTEGER NOT NULL UNIQUE, 

[begin] INTEGER, 

[end] INTEGER, 

[name] TEXT, 

PRIMARY KEY(id) 

) 

其实,我想删除表的记录omconst

if omconst.hr != omstarline.begin 

omconst.hr != omstarline.end. 

如何使用SQL查询来做到这一点?在此先感谢...

+2

你的意思是“教教我基本的SQL”没有你,甚至尝试一些?你怎么改变这个...... – TomTom 2014-10-29 06:45:04

回答

0

可以发出使用not exists运营商delete声明:

DELETE FROM omconst 
WHERE NOT EXISTS (SELECT * 
        FROM omstarline 
        WHERE omconst.he IN (begin ,end) 
+0

非常感谢你的善意帮助!我想问你另一个问题。我删除了想要的记录后。但是表omconst的id不正确,只有表中的左记录的id(如1,3,6,10)。我想表omconst的id是1,2,3,4,5 ......如何处理这个问题? – 2014-10-29 07:00:52