PostgreSQL 嵌套查询格式

问题描述 投票:0回答:1

我正在尝试创建一个 SQL 查询,以根据单独表中的单元格值从表中获取一个表数据。

我的最终查询应该如下所示: 从“联系人业务”中选择“名称”,其中“ID”IN ('238120','238121') AND“ACTIVEFLAG”= 'Y'; -- 这有效

为了使其正确执行,我需要从第二个表中获取 ('238120','238121') 值: 从“输入”中选择“('||“ID_CONTRACTOR_CONTACT”||')',其中“FK_SOURCE”=“20231725175”和“DOCKET”=“324771”和“ACTIVEFLAG”!=“N”; -- 这也有效

我试图将它们嵌套起来,对我来说,这就是问题所在。我当前的 SQL 版本如下所示: 从“联系人业务”中选择“名称”,其中“ID”IN (SELECT '('||"ID_CONTRACTOR_CONTACT"||')' FROM "INPUT" WHERE "FK_SOURCE" = '20231725175' AND "DOCKET" = '324771'和“ACTIVEFLAG”!=“N”)和“ACTIVEFLAG”=“Y”; 这不会返回任何记录,并且我没有收到任何错误。

如果有帮助,我正在运行 pgAdmin 4 v 8.5

postgresql subquery
1个回答
0
投票

您需要删除 ID_CONTRACTOR_CONTACT 周围子查询中不必要的字符串连接和括号。

SELECT "NAME"
FROM "CONTACT-BUSINESS"
WHERE "ID" IN (
    SELECT "ID_CONTRACTOR_CONTACT"
    FROM "INPUT"
    WHERE "FK_SOURCE" = '20231725175'
    AND "DOCKET" = '324771'
    AND "ACTIVEFLAG" != 'N'
)
AND "ACTIVEFLAG" = 'Y';
© www.soinside.com 2019 - 2024. All rights reserved.