在sybase上。我有一堆主键
如果我这样做:
从表中选择键,键入(...约2000键的列表...)
我得到大约1700个结果。什么是最简单的方法来获取列表中不存在的约300个条目的列表?
这似乎应该很容易,但我无法解决这个问题......
编辑:似乎可能是一个例子
如果我的表有1,2,4键,我的列表是1,2,3那么我想要一个查询,它会给我答案3 - 我列表中不在表中的元素。如果我使用'NOT IN'然后我得到答案4,这是错误的。
答案 0 :(得分:1)
我认为您需要将元素放入自己的表中以使其可选。那之后一帆风顺......
SELECT key
FROM my_new_table
WHERE key NOT IN (SELECT key
FROM Table);
(或上述查询的任何更快版本)。
答案 1 :(得分:0)
我认为您的答案实际上是由@BrianHooper解决方案解决的,但您的问题却缺乏澄清。
您提到的数字“列表”......是否连续不适用。在回应我的评论时,你从未说过你有两张桌子......
因此,它似乎只是为了便于跟踪:您有一个包含2000个项目的主库存表。此外,您还有一个销售活动表,其中包含已售出的所有库存...此表中可能有10,000行,其中包含许多给定商品的多个销售...但是,某些商品从未在10,000销售额。你想知道哪些物品永远不会在库存中售出......
我的查询将基于上述情况,但您必须与实际情况配对。
select
MyItemID
from
MyInventoryTable
where
MyItemID NOT IN
( select SoldItemID
from SalesData );