当前位置: 首页 > 知识库问答 >
问题:

PostgreSQL:获取另一个列表中不存在的列表中的所有数字[重复]

柯甫
2023-03-14

我有一个列表,例如:1,2,5,6,8,12,15

我正在尝试创建一个SQL查询,该查询将从上一个列表中返回一个数字列表,而不存在于另一个列表中。

那么,假设我从一个表中获取所有id,它们是:1,3,7,8,15

结果集应为:2,5,6,12

因为这些数字没有出现在第二个列表中,而是出现在第一个列表中。

我原以为这会很容易,但我被难住了。谷歌搜索它并没有得到我可以使用的结果,只是列出了有关列表和左连接的内容。

共有3个答案

房新翰
2023-03-14

您可以使用Not IN语句来获取您需要的内容:

SELECT
    my_id
FROM
    My_Table
WHERE
    my_id NOT IN (SELECT other_ids FROM Some_Other_Table)
丰飞龙
2023-03-14

我建议使用内部联接并检查null。

with a (id) as (values
    (1),(2),(5),(6),(8),(12),(15)
), b (id) as (values
    (1),(3),(7),(8),(15)
)
select a.id from a
left join b on a.id=b.id
where b.id is null;
楚翰
2023-03-14
with a (id) as (values
    (1),(2),(5),(6),(8),(12),(15)
), b (id) as (values
    (1),(3),(7),(8),(15)
)
select id from a
except all
select id from b
;
 id 
----
  6
  5
 12
  2

http://www.postgresql.org/docs/current/static/sql-select.html#SQL-除非

 类似资料:
  • 问题内容: 我试图从两个文件中读取并将它们存储在两个单独的arraylist中。文件由单词组成,这些单词要么单独一行,要么多个单词之间用逗号分隔。我用以下代码读取每个文件(不完整): 我现在需要读入两个文件,并从第一个文件中删除所有单词,该单词也存在于第二个文件中(文件中有一些重复的单词)。我已经尝试过for- loops和其他类似的东西,但是没有任何效果,因此将不胜感激! 额外的问题:我还需要找

  • 问题内容: 获取Oracle中所有表的列表? 问题答案: 假设您有权访问DBA_TABLES数据字典视图。如果您没有这些特权但需要它们,则可以请求DBA显式授予您对该表的特权,或者请求DBA授予您该SELECT ANY DICTIONARY特权或SELECT_CATALOG_ROLE角色(这两者都将允许您查询任何数据字典表) )。当然,您可能希望排除某些模式,例如SYS和模式,SYSTEM而这些模

  • 问题内容: 我必须找到一种最好的方法来找出第二个arraylist中未显示的元素。假设 因此,基本上我想要找出的是 a 在 数组列表b中 不存在的元素。 那么什么是最好的解决方案呢? 问题答案: 还可以考虑使用集合而不是列表。

  • 我需要比较两个列表,以便创建在一个列表中找到的特定元素的新列表,而不是在另一个列表中。例如: 我想在列表_1中循环,并将列表_2中未在列表_1中找到的所有元素附加到主列表。 结果应该是: 用python怎么做?

  • 我在下一件事上遇到了麻烦:我有一个arraylist中有数字,我想反转列表中的数字,比如,如果它有1 2 3,将arraylist中的值替换为3 2 1。为此,我创建了一个名为reordenar()的方法;它将第一个arraylist中的最后一个数字放在第二个arraylist中的第一个位置。完成后,我不知道如何让第一个arraylist用第二个arraylist替换它的数字。这是我写的代码。 那

  • 我在数组列表(嵌套数组列表)中有一个数组列表,如下所示 现在我需要获取存在于arraylist的给定索引中的的实例并为其添加一个值。我使用了以下代码 但是它给了我一个错误 线程"main"java.lang.异常索引:0,大小:0 如何解决这个问题以及为什么会发生这种情况。 谢谢你