我有一个包含以下字段的表格。我的要求是从表中删除记录 1.标志设置为“否” 2.对于标题,如果标志设置为“否”,则在一个记录中;如果设置为“是”,则在另一个记录中。删除这两个记录。例如TH-123,在第1个记录中,标志设置为“否”,第4个记录标志设置为“是”,删除两个记录。 3.对于标题,如果标志设置为“否”,则在一个记录中;如果设置为“空格”,则在另一个记录中。删除这两个记录。例如TH-344。删除这两个记录。
Title Flag
TH-123 No
TH-344
TH-543 No
TH-123 Yes
Th-344 No
Th-098 Yes
Th-876 Yes
Th-098 Yes
Th-512 No
所以现在我期待一个结果,有以下记录。
Th-098 Yes
Th-876 Yes
Th-098 Yes
我已经完成了2次查询。
update temp1 set [flag] = 'No' WHERE Title IN
(SELECT Title FROM temp1 where [flag] = 'No')
delete from temp1 where [flag] = 'No'
是否可以使用单个查询。如果是这样,请告诉我或任何其他更好的程序..
答案 0 :(得分:4)
delete from temp1
where
Title IN
(SELECT Title FROM temp1 where [flag] = 'No')
答案 1 :(得分:1)
这应该有效:
delete from t1
from temp1 t1
inner join temp2 t2 on t1.Title = t2.Title
where t2.[flag] = 'No'