0

我有下表:

所有记录

我想获得满足某些条件的记录。

以下是查询,它返回 3 个结果:

满足查询的记录

现在我想要不满足剩余记录的记录(即不满足上一个查询中条件的记录),我希望总共有 4 行作为回报。所以我正在执行查询:

查询剩余记录

但是,没有返回记录号 4,我知道 col2 值“null”导致了这个问题。

我什至尝试过使用 NVL 和合并功能,但没有任何运气:

nvl_coalesce_queries

所以基本上,我想要 'NOT' 查询中有 4 行。

如果有任何建议,请告诉我。

4

2 回答 2

1

使用类似的东西

select *
from tmp_dbg3
where col0 not in (select col0 from tmp_dbg3 where <your 'satisfying' condition>)
于 2017-11-09T15:19:46.150 回答
0

尝试使用NOT IN 运算符

https://technet.microsoft.com/en-us/library/ms189062(v=sql.105).aspx

SELECT * FROM database
WHERE id NOT IN (SELECT id FROM database WHERE  *your conditions*)

我假设数据库中的第一列是自动增量键。我个人更喜欢使用它来确定哪些列不在您的条件中,而不是 col1。

于 2017-11-09T16:27:35.080 回答