sql – 根据此表和另一个表中的行值删除一个表中的行
发布时间:2020-12-12 07:04:15 所属栏目:MsSql教程 来源:网络整理
导读:似乎有这样的一些问题,但没有一个完全相同,所以这里是: 我需要找到一种方法来删除一个表中的行,其中另一个表中有一行,其中两个字段等于原始表中的两个字段. (在以下示例中,将显示: 我需要找到一种方法来删除@All中包含@ All.Stall = @ Grouped.Stall和@ All
似乎有这样的一些问题,但没有一个完全相同,所以这里是:
我需要找到一种方法来删除一个表中的行,其中另一个表中有一行,其中两个字段等于原始表中的两个字段. (在以下示例中,将显示: 例如: @All:要删除行的表: Stall Fruit ------------------- John Apples John Pears John Pineapple Mary Apples Mary Apples Mary Pears Mary Pineapple @Grouped:要从中删除行的表: Stall Fruit ------------------- Mary Apples 结果表应如下所示: Stall Fruit ------------------- John Apples John Pears John Pineapple Mary Pears Mary Pineapple 请注意,这两行包含:Mary |苹果不见了. 对于我的生活,我无法弄清楚如何做到这一点,并且只能让它删除包含苹果的所有三行而不是留下一个John苹果. 以下是创建两个临时表的查询,如果有人能够提供帮助: @All – 要删除行的表 @Grouped – 包含要从@All中删除的字段的表 DECLARE @All TABLE( Stall varchar(10),Fruit varchar(10),StallFruitID int ) DECLARE @Grouped TABLE( Stall varchar(10),Fruit varchar(10) ) INSERT INTO @All (Stall,Fruit,StallFruitID) VALUES('John','Apples',1) INSERT INTO @All (Stall,'Pears','Pineapple',StallFruitID) VALUES('Mary',2) INSERT INTO @All (Stall,1) INSERT INTO @Grouped (Stall,Fruit) VALUES('Mary','Apples') 解决方法DELETE a FROM table1 a INNER JOIN table2 b ON a.Stall = b.Stall AND a.Fruit = b.Fruit > SQLFiddle Demo (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |