将 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 函数一起使用的主要内容,如果未能解决你的问题,请参考以下文章
left join ,right join ,inner join,outer join,union all,union有啥区别?怎么用?
Oracle表与表之间的连接方式(内连接:inner join 外连接 全连接: full outer join左连接:left outer join 右连接:right outer join(代码
BigQuery Left Outer 出现 OR 条件错误
PHP CodeIgniter多个LEFT OUTER在查询中加入
对于SQL的Join,在学习起来可能是比较乱的。我们知道,SQL的Join语法有很多inner的,有outer的,有left的,有时候,对于Select出来的结果集是什么样子有点不是很清楚。Codin