简体   繁体   中英

column does not exist in derived_table1 after sql join

I wrote this sql code to query data in 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

I got the following error ERROR: column "cn" does not exist in derived_table1

how could I fix this please

You get this error because column cn is missing from the second SELECT . Try this:

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

You missed the column cn in inner query.

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

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

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