【发布时间】:2022-01-20 15:18:33
【问题描述】:
我正在尝试加入 2 个表(stg.ac_esb 和 stg.ac_eeb),它们都有 emp_codigo,所以我使用此列来设置关系。但是,当我尝试从连接结果中提取数据时,错误提示:错误:列引用“emp_codigo”不明确。谁能帮我解决这个问题!
`SELECT
**emp_codigo** as NUMEMP /* Código da Empresa SIM*/
, epg_codigo as TIPCOL /* Tipo do Colaborador SIM*/
, ' ' as NUMCAD /* Cadastro do Colaborador SIM*/
, dtinicial as INIETB /* Data de Início da Estabilidade SIM */
, dtfinal as FIMETB /* Data Final da Estabilidade NÃO */
, codigo as CODETB /* Código da Estabilidade SIM */
FROM
(SELECT *
FROM stg.ac_esb
JOIN stg.ac_eeb
ON ac_esb.emp_codigo = ac_eeb.emp_codigo) AS Estabilidades;`
【问题讨论】:
-
postgres 想知道您的意思是 ac_esb.emp_codigo 还是 ac_eeb.emp_codigo。所以把你需要的唯一列放在子查询中。
-
这可以作为单个
select语句完成,只需指定要开始的列的特定、完全限定名称。无论如何,选择所有列通常不是一个好主意,并且会降低性能。 -
子查询有一个
*,它产生来自stg.ac_esb和stg.ac_eeb的同名列。您需要使用AS重命名这些列,或者一次只选择其中一个。 -
非常感谢!
标签: sql postgresql join