Sql从数据库中删除值

时间:2014-12-15 01:02:24

标签: sql

我有一个带有id和sec_id的表main。我有sec_id,我需要id从db中删除一些东西。

 DELETE FROM main WHERE id = (get all elements where sec_id is the same) 

2 个答案:

答案 0 :(得分:1)

如果我理解您的问题,您应该只能根据sec_id进行删除。这假设它是表格的一部分。

DELETE FROM main WHERE sec_id = @sec_id

在此示例中,@sec_id是您要匹配的相应sec_id的值

如果它不是表的一部分,但你有另一个包含两者的表,那么我可能会使用类似的东西:

DELETE FROM main 
WHERE EXISTS(SELECT 1 FROM other 
             WHERE main.id = other.id AND other.sec_id = @sec_id)

答案 1 :(得分:0)

如果我理解得很好:

DELETE FROM main WHERE id in (SELECT DISTINCT A.id FROM main AS A INNER JOIN main AS B ON A.sec_id=B.sec_id)