Ошибка оператора SQL при использовании UNION с агрегатами

все вышесказанное верно. Пожалуйста, будьте уверены, прежде чем это число в строке, сделав «typeot x === 'number», «другой мудрый он вернет NaN

 var num = "fsdfsdf242342";
 typeof num => 'string';

 var num1 = "12423";
 typeof num1 => 'number';
 +num1 = > 12423`
0
задан marc_s 15 January 2019 в 21:16
поделиться

2 ответа

Вам не нужно группировать для второго запроса .. у вас нет агрегированной функции

select p.date, sum(p.pageviews) as "total_pageviews", sum(p.sessions) as "total_sessions",l.location_id, p.brand_key
FROM public.local_site_sessions p, public.location_map l
where l.affiliate_id = p.affiliate_id
group by p.date, p.brand_key, l.location_id 

union

select g.date, g.sessions , g.pages_per_session ,g.location_id, brand_key
FROM public.ga_lead g

И вам не следует использовать старое имплицитное объединение в зависимости от того, где используется явное объединение. упорядочить по последнему выбору, и вы не должны использовать псевдоним для второго выбора

select p.date, sum(p.pageviews) as "total_pageviews", sum(p.sessions) as "total_sessions",l.location_id, p.brand_key
FROM public.local_site_sessions p
INNER JOIN  public.location_map l ON  l.affiliate_id = p.affiliate_id
group by p.date, p.brand_key, l.location_id 

union

select g.date, g.sessions , g.pages_per_session ,g.location_id, brand_key
FROM public.ga_lead g
order by 1,4,5 
0
ответ дан scaisEdge 15 January 2019 в 21:16
поделиться

Просто добавьте внешний выбор к первому запросу объединения

    Select * from
     ( Select.... union Select.... )
0
ответ дан Himanshu Ahuja 15 January 2019 в 21:16
поделиться
Другие вопросы по тегам:

Похожие вопросы: