选择声明帮助

时间:2014-03-19 08:12:55

标签: sql

我不确定描述我关注的确切术语,所以我只提供示例:

我的表格内容是:

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

我非常感谢您为获得所需查询而提供的任何帮助或说明。

谢谢!

2 个答案:

答案 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'
        )