我不确定描述我关注的确切术语,所以我只提供示例:
我的表格内容是:
ID OPERATION_TYPE
1 Data A
2 Data A
3 Data A
4 Data A
1 Data B
如果我使用 SELECT ID,OPERATION_TYPE FROM TABLE_ASSN WHERE OPERATION_TYPE!='数据B',则只会导致:
ID OPERATION_TYPE
1 Data A
2 Data A
3 Data A
4 Data A
但我的主要目标是删除 OPERATION_TYPE 列上数据B 的所有ID。
我想要的输出是:
ID OPERATION_TYPE
2 Data A
3 Data A
4 Data A
我非常感谢您为获得所需查询而提供的任何帮助或说明。
谢谢!
答案 0 :(得分:7)
使用此
Select ID,OPERATION_TYPE FROM TABLE_ASSN WHERE ID not in
(SELECT ID FROM TABLE_ASSN WHERE OPERATION_TYPE = 'Data B')
或用作
Select ID,OPERATION_TYPE FROM TABLE_ASSN WHERE ID in
(SELECT ID FROM TABLE_ASSN WHERE OPERATION_TYPE! = 'Data B')
答案 1 :(得分:1)
你可以试试这个:
SELECT
ID,
OPERATION_TYPE
FROM
TABLE_ASSN
WHERE
ID NOT IN (
SELECT
ID
FROM
TABLE_ASSN
WHERE
OPERATION_TYPE = 'Data B'
)