首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >SQL查询的结果来自一个表,其中某些值存在于不同的表中。

SQL查询的结果来自一个表,其中某些值存在于不同的表中。
EN

Stack Overflow用户
提问于 2021-08-04 00:43:14
回答 2查看 28关注 0票数 0

我使用postgres 11并尝试从表cmdb_mgmt中获取所有列,将两个表与列hostname (fkey)进行匹配,在表config_data.interface列中,last_seennull。这是我拥有的查询,它运行但不返回结果:

代码语言:javascript
复制
select
    *
from
    cmdb_mgmt, config_data.interface
where
    config_data.interface.last_seen in (
        select config_data.interface.last_seen from config_data.interface where config_data.interface.last_seen is null
);

一个潜在的警告是,由于hostname是复合pkey的一部分,config_data.interface中存在许多相同的值。然而,它们在cmdb_mgmt中只存在一次。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2021-08-04 01:03:09

好吧,你可能会想这样做,而不是:

代码语言:javascript
复制
SELECT cmdb_mgmt.*
  FROM cmdb_mgmt
 WHERE cmdb_mgmt.hostname IN (
        SELECT config_data.interface.hostname
          FROM config_data.interface
         WHERE config_data.interface.last_seen IS NULL
);

你的版本有一个偶然交叉连接/笛卡尔产品。

票数 1
EN

Stack Overflow用户

发布于 2021-08-04 00:56:51

通过使用此查询,我能够获得所需的结果。我有一些简单的语法问题。

代码语言:javascript
复制
select
    cmdb_mgmt.*
from
    cmdb_mgmt, config_data.interface
where
    cmdb_mgmt.hostname in (
        select config_data.interface.hostname from config_data.interface where config_data.interface.last_seen is null
);
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/68644172

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档