【发布时间】:2019-08-01 11:07:24
【问题描述】:
我不确定我的问题是否正确,但这就是我想要做的。
我有一个表errorlog 和字段link,我有一个函数http_get(基于pgsql-http,它给了我status 的status)
我认为我需要像这样进行横向连接:
SELECT
el.link,
hg.status
FROM
errorlog AS el
LEFT OUTER JOIN LATERAL http_get(el.link) AS hg ON true
WHERE el.link IS NOT NULL ;
但这并没有给我任何结果。如何将这样的函数应用于表格?
errorlog表:
+----+---------------------+
| id | link |
+----+---------------------+
| 1 | http://www.test.com |
+----+---------------------+
| 2 | http://www.link.com |
+----+---------------------+
pgsql-http:https://github.com/pramsey/pgsql-http
更新: 我试过这些查询:
SELECT
el.link,
(http_get(el.link)).status
FROM
errorlog AS el
WHERE el.link IS NOT NULL ;
结果:No records found.
SELECT
el.link,
hg.status
FROM
errorlog AS el, http_get(el.link) AS hg
WHERE el.link IS NOT NULL ;
结果:No records found.
但是,这是可行的:
select * from http_get('http://test.com')
【问题讨论】:
-
您确定
http_get()会返回任何内容吗?您是否使用硬编码的 URL 单独调用它? -
@a_horse_with_no_name 是的,这有效
select * from http_get('http://test.com') -
@a_horse_with_no_name 我发现了问题,我的
link字段由于某种原因被删除了,这可能是一个 dbeaver 问题,我正在删除一些记录但以某种方式删除了所有记录(或者可能是用户错误)。
标签: postgresql postgresql-10 lateral-join