将 SELECT 和 LEFT OUTER JOIN 与 Postgresql 函数一起使用

Posted

技术标签:

【中文标题】将 SELECT 和 LEFT OUTER JOIN 与 Postgresql 函数一起使用【英文标题】:Using SELECT and LEFT OUTER JOIN with Postgresql function 【发布时间】:2014-08-05 21:19:44 【问题描述】:

我在函数中运行 SELECT 并让它从表中返回列值时遇到问题。该选择使用 LEFT OUTER JOIN 来定位与“主”列表中包含的值不匹配的值。到目前为止,函数看起来像:

CREATE OR REPLACE FUNCTION replaceFunc ()
RETURNS TABLE (
txt   text
,cnt   bigint
,ratio bigint
)  AS $rep$

BEGIN
EXECUTE 'SELECT columA FROM Table1 LEFT OUTER JOIN Table2 ON Table1.A = Table2.B WHERE Table2.B IS NULL;
END

$rep$ LANGUAGE plpgsql

当我运行该函数时,它不返回我想要的列,只返回一个空的 replacefunc 记录。感谢您的任何帮助,您可以提供。

【问题讨论】:

什么是citynames.city 我更新了代码以更随意的方式显示示例。 【参考方案1】:

尝试这样编码:

CREATE OR REPLACE FUNCTION replaceFunc ()
RETURNS TABLE (
txt   text
,cnt   bigint
,ratio bigint
) AS $$
    SELECT columnA
    FROM Table1
    LEFT OUTER JOIN Table2 ON Table1.A = Table2.B
    WHERE Table2.B IS NULL $$
LANGUAGE plpgsql

【讨论】:

以上是关于将 SELECT 和 LEFT OUTER JOIN 与 Postgresql 函数一起使用的主要内容,如果未能解决你的问题,请参考以下文章