必须连接表但只想从第一个表中删除

时间:2017-05-31 13:39:06

标签: java sqlite

所以我有table1和table2。 Table1有列configId,timestamp,value。 Table2有configId,machineId,ioid,iotype,lock。关系是很多Table1项到1表2项。表1是数据,表2是标识符。

我想删除表1中的项目,但必须确保table2中的lock = 0,其中table1.configId = table2.configId。这甚至可能吗?

谢谢!

1 个答案:

答案 0 :(得分:1)

如果您使用的是mySQL,可以执行类似

的操作
DELETE FROM Table1 t1
JOIN Table2 t2 ON t2.configId = t1.configId
WHERE t2.lock = 0;

如果没有,你可以试试像

这样的东西
DELETE FROM Table1 WHERE configId IN (
SELECT t1.configId FROM Table1 t1
JOIN Table2 t2 ON t2.configId = t1.configId
WHERE t2.lock = 0
)
相关问题