我有此查询:
create table analytics.as_screenings_activity_stopped as (
select
ka.vhost,
ka.SFDC_ACCOUNT_KEY,
ka.count_units,
min(d.go_live_date),
s.RECORD_TYPE_NAME,
s.vplus_stage,
s.screenings_enabled_date,
s.screenings_first_use_date,
sd.most_recent_screen_date,
case when sd.most_recent_screen_date >= dateadd(days, -90, current_date) then 'N' else 'Y' end as last_screen_90_or_more_days_ago
from analytics.key_account_yn as ka
left join analytics.go_live_date as d on ka.SFDC_ACCOUNT_KEY = d.SFDC_ACCOUNT_KEY
left join analytics.screenings_enabled_first_use_date s on ka.SFDC_ACCOUNT_KEY = s.SFDC_ACCOUNT_KEY
left join analytics.most_recent_screen_date sd on ka.vhost = sd.vhost
where ka.key_account_yn = 'Y' and s.vplus_stage = 'Active'
group by
ka.vhost,
ka.SFDC_ACCOUNT_KEY,
ka.count_units,
s.RECORD_TYPE_NAME,
s.vplus_stage,
s.screenings_enabled_date,
s.screenings_first_use_date,
sd.most_recent_screen_date
order by ka.vhost);
当我不尝试创建表格时,它运行良好。我正在使用与其他查询相同的代码格式。我会收到以下错误:
SQL compilation error: Missing column specification
我需要做什么来解决这个问题?谢谢,alissa
解决的问题 - 我需要提供最小的别名(d.go_live_date(。感谢这篇文章。
更新的查询:
create table analytics.as_screenings_activity_stopped as (
select
ka.vhost,
ka.SFDC_ACCOUNT_KEY,
ka.count_units,
min(d.go_live_date) as go_live_date,
s.RECORD_TYPE_NAME,
s.vplus_stage,
s.screenings_enabled_date,
s.screenings_first_use_date,
sd.most_recent_screen_date,
case when sd.most_recent_screen_date >= dateadd(days, -90, current_date) then 'N' else 'Y' end as last_screen_90_or_more_days_ago
from analytics.key_account_yn as ka
left join analytics.go_live_date as d on ka.SFDC_ACCOUNT_KEY = d.SFDC_ACCOUNT_KEY
left join analytics.screenings_enabled_first_use_date s on ka.SFDC_ACCOUNT_KEY = s.SFDC_ACCOUNT_KEY
left join analytics.most_recent_screen_date sd on ka.vhost = sd.vhost
where ka.key_account_yn = 'Y'
group by
ka.vhost,
ka.SFDC_ACCOUNT_KEY,
ka.count_units,
s.RECORD_TYPE_NAME,
s.vplus_stage,
s.screenings_enabled_date,
s.screenings_first_use_date,
sd.most_recent_screen_date
order by ka.vhost);
在使用任何汇总函数时,它需要向DBT中的该汇总提供别名