繁体   English   中英

sql join后,derive_table1中不存在列

[英]column does not exist in derived_table1 after sql join

我写了这个sql代码来查询redshift中的数据

Select
  tenant_name, date, fk_organization_unit, active_member_per_studio, cn
From
(
  SELECT
    tenant_name, date, fk_organization_unit, active_member_per_studio
  from
    fct.st_member_development as st_member_development
  inner join
  (
    SELECT
      tenant_name as tn, fk_organization_unit as fk, type, date as dt, contract_count as cn
    from
      fct.st_contract_development
  )
    u
      on  st_member_development.tenant_name =u.tn
      and st_member_development.fk_organization_unit =u.fk
      and st_member_development.date =u.dt
)
  x
limit 5

我收到以下错误错误:“derivative_table1”中不存在列“cn”

我该如何解决这个问题

您收到此错误是因为第二个SELECT缺少列cn 试试这个:

Select tenant_name, date, fk_organization_unit, active_member_per_studio, cn

From (
SELECT tenant_name, date, fk_organization_unit, active_member_per_studio, cn   
from fct.st_member_development as st_member_development

inner join
(SELECT tenant_name as tn, fk_organization_unit as fk, type, date as dt, contract_count as cn from fct.st_contract_development) u
on  st_member_development.tenant_name =u.tn and st_member_development.fk_organization_unit =u.fk and st_member_development.date =u.dt
)
limit 5

您错过了内部查询中的cn列。

Select
  tenant_name, date, fk_organization_unit, active_member_per_studio, cn
From
(
  SELECT
    tenant_name, date, fk_organization_unit, active_member_per_studio, cn
  from
    fct.st_member_development as st_member_development
  inner join
  (
    SELECT
      tenant_name as tn, fk_organization_unit as fk, type, date as dt, contract_count as cn
    from
      fct.st_contract_development
  )
    u
      on  st_member_development.tenant_name =u.tn
      and st_member_development.fk_organization_unit =u.fk
      and st_member_development.date =u.dt
)
  x
limit 5

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM