Sql 如何查找Oracle数据库中不存在的值

Sql 如何查找Oracle数据库中不存在的值,sql,database,oracle,Sql,Database,Oracle,我有一个易腐物品的库存表,最多有100行硬限制,我知道这很糟糕,但现在就是这样。其思想是其他进程运行并将信息存储到此表中。当一个产品过期时,它的行通过一个自动过程从表中删除,然后可以用于新产品。该表基本上包含Product、ProductID、0-99字段、PurchaseDate和ExpiryDate列 为了帮助进行故障排除,我想编写一个显示任何未使用的产品ID的查询,但我不知道如何只返回未使用的行。有人能帮忙吗 提前感谢,, Brett获取99减去已用ID: SELECT LEVEL F

我有一个易腐物品的库存表,最多有100行硬限制,我知道这很糟糕,但现在就是这样。其思想是其他进程运行并将信息存储到此表中。当一个产品过期时,它的行通过一个自动过程从表中删除,然后可以用于新产品。该表基本上包含Product、ProductID、0-99字段、PurchaseDate和ExpiryDate列

为了帮助进行故障排除,我想编写一个显示任何未使用的产品ID的查询,但我不知道如何只返回未使用的行。有人能帮忙吗

提前感谢,, Brett

获取99减去已用ID:

SELECT  LEVEL 
FROM DUAL
CONNECT BY LEVEL <= 99


minus 

select ProductID  from productleases where expirydate > sysdate

什么场景使产品未被使用?日期是多少?似乎必须使用expirydate来确定未使用的产品?从expirydatesysdate。您的查询将返回这些ID,这与OP的requirement.Updated完全相反。从用户注释中可以看出,这里没有任何方法可以向输出中添加第二列。如果我的产品按类别分类,那么肉类有100份租约,蔬菜有100份租约,我可以返回吗?例如:肉类76肉类95蔬菜22蔬菜36甜食45该列称为producttype。谢谢