将 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 函数一起使用的主要内容,如果未能解决你的问题,请参考以下文章