我的选择查询有问题
select distinct l.*, tmp_addr.address from l.lic as l
left join l.hou as h on l.lic_id=h.lic_guid
left join l.org as o on o.org_id=l.org_guid
LEFT JOIN (
SELECT address
FROM dblink('sm_d','SELECT * FROM
sm.func_get(' || COALESCE(QUOTE_LITERAL(h.hguid), 'NULL') || ', TRUE, ''sm'')')
AS addr(full_address TEXT, address_guid TEXT)
) AS tmp_addr ON h.house_address_guid=tmp_addr.address_guid
where o.root_organization_ref_guid='b26961ae-f015' and l.status <> 'INACTIVE' and l.version='true' and h.registry_status_type='INCLUDED';
SQL错误[42P01]:错误:对表“ h”的FROM子句条目的引用无效 表“ h”有一个条目,但不能在查询的这一部分中引用它。 位置:348
答案 0 :(得分:0)
这看起来真的很奇怪:
select distinct l.*, tmp_addr.address
FROM l.lic as l
left join l.hou as h on l.lic_id=h.lic_guid
left join l.org as o on o.org_id=l.org_guid
l.lic as l
-您正在将LIC
表的别名设置为l
left join l.hou as h
-现在,当您说l.hou
时,表示hou
是表l
中的一列。但是您将其用作表格。
left join l.org as o
-与上述相同。
因此,如果l
是数据库中存储这些表的架构,则建议您使用l
以外的别名。
如果l
不是架构,只需从l
和l.hou
中删除l.org
。而是说hou
和org
。
这应该可以修复错误。让我知道是否有帮助。