SQL присоединиться однозначно - PullRequest
0 голосов
/ 13 января 2020

У меня есть две таблицы, и я хочу объединить их с помощью подзапросов. Я знаю, что мы можем сделать это более простым способом, но они хотят, чтобы я делал это так. Но мой код не работает, и я не смог найти способ его исправить.

Это мой код - может кто-нибудь сказать мне, что с ним не так?

select distinct 
    c.region,
    c.data_center,
    c.suite,
    c.pr_date,
    FROM_UNIXTIME(m.siteops_exit_actual) as LROOF
from
    (select 
         region, data_center, suite, pr_date 
     from  
         IDC_DC_SCHED_DATES_SUITES_DEV_FUTURE 
     where  
         ds = '<LATEST_DS:IDC_DC_SCHED_DATES_SUITES_DEV_FUTURE>') c
left outer join
    (select 
         region, datacenter, suite, max(siteops_exit_actual) 
     from 
         suplan_migrations:cea 
     where 
         ds = '<LATEST_DS:suplan_turnups:cea>' 
     group by 
         region, datacenter, suite) m on c.region = m.region 
                                      and c.data_center = m.datacenter 
                                      and c.suite = m.suite

1 Ответ

1 голос
/ 13 января 2020

Вам необходимо назвать столбец агрегации в подзапросе:

select distinct c.region, c.data_center, c.suite, c.pr_date,
      FROM_UNIXTIME(m.siteops_exit_actual) as LROOF
from IDC_DC_SCHED_DATES_SUITES_DEV_FUTURE c left join
     (select region, datacenter,suite, max(siteops_exit_actual) as siteops_exit_actual
      from `suplan_migrations:cea`
      where ds = '<LATEST_DS:suplan_turnups:cea>' 
      group by region, datacenter, suite
     ) m 
     on c.region = m.region and c.data_center = m.datacenter and c.suite = m.suite
where c.ds = '<LATEST_DS:IDC_DC_SCHED_DATES_SUITES_DEV_FUTURE>');

Я также удалил первый подзапрос.

...