SQL命令搜索记录并删除整个组(如果x位于)
SQL DB2 这是我必须开始的SQL命令搜索记录并删除整个组(如果x位于),sql,db2,Sql,Db2,SQL DB2 这是我必须开始的 SELECT DISTINCT Last_Name, First_Name, State FROM AddressTable; 我试图修改查询以查看AddressTable,如果State=IL,则应该过滤掉所有姓氏相同的人 如果我的结果在下面,那么我希望删除所有姓琼斯的记录 Smith, Bob, MO Smith, Eric, MO Jones, Bob, MO Jones, Eric, IL Jones, Tim, NE 我不清楚您是
SELECT DISTINCT
Last_Name, First_Name, State
FROM AddressTable;
我试图修改查询以查看AddressTable
,如果State=IL
,则应该过滤掉所有姓氏相同的人
如果我的结果在下面,那么我希望删除所有姓琼斯的记录
Smith, Bob, MO
Smith, Eric, MO
Jones, Bob, MO
Jones, Eric, IL
Jones, Tim, NE
我不清楚您是要删除行,还是只想筛选行。此处筛选行:
SELECT DISTINCT Last_Name, First_Name, State
FROM AddressTable X
WHERE NOT EXISTS (
SELECT 1 FROM AddressTable Y
WHERE X.NAME = Y.NAME
AND Y.STATE = 'IL'
);
对于这种
DELETE
语句,您不需要DISTINCT
(并且作为子句中的一部分的子句也没有意义)。但是,我很确定OP只是希望不在SELECT
结果集中包含记录,而不是从源表中实际删除它们。
select *
from AddressTable
where Last_Name not in
(
select Last_Name
from AddressTable
where State = 'IL'
)