如何编写 sql 子句,其中列不相等且任何 id 关联

How to write sql clause where column not equal and any id associated

我想设置一个简单的查询来过滤掉 ItemID 中包含 "A" 的任何行,但我的问题是我也不想显示来自不同行的任何期刊 ID,因为它匹配"A"。我尝试使用谷歌搜索解决方案,但我确定我没有使用正确的关键字来找到它。我使用的是 Microsoft sql 2008,但我不是数据库管理员,所以我不太熟悉。我试过使用distinct,也试过group by,但是在这种情况下它不起作用。

这是我正在使用的 table 的简化版本:

JournalID    ItemID    PrimaryKEY
    1           A           1
    1           B           2
    2           A           3
    2           C           4
    3           B           5
    4           D           6

下面是我想要的样子:

JournalID    ItemID    PrimaryKEY
    3           B           5
    4           D           6

试试这个:

SELECT * 
FROM table_name 
WHERE JournalID 
NOT IN (SELECT JournalID
FROM table_name
WHERE ItemID = 'A')

这将排除 ItemID 为 'A' 的任何行,以及与 ItemID 为 [=16] 的行具有相同 JournalID 的任何行=].

SELECT JournalID, ItemID, PrimaryKEY
FROM TABLE
WHERE JournalID NOT IN (Select JournalID FROM TABLE WHERE ItemID = 'A')