0
My Query:
SELECT Case When msa_high>=50 AND msa_high<=60 then 'low'
When msa_high>60 AND msa_high>=70 then 'medium'
When msa_high>70 then 'high' end as edu_lv , Sum(rev)/Sum(S_days) AS avg_sales
from store_msa left join(Select
(EXTRACT(YEAR FROM t.saledate)||'-'||
EXTRACT(MONTH FROM t.saledate) ||'-'||
t.store) AS mys,COUNT(DISTINCT t.saledate) AS S_days, sum(t.amt) AS rev
From trnsact t
Where (t.saledate)<'2005-08-01' AND t.stype='P' AND mys IN
(SELECT
(EXTRACT(YEAR FROM t.saledate)||'-'||
EXTRACT(MONTH FROM t.saledate) ||'-'||
t.store) AS mys
FROM trnsact t
HAVING COUNT(DISTINCT t.saledate)>20
GROUP BY mys,t.store)) AS rev
ON store_msa.store=rev.store
Group By edu_lv,avg_sales
Order By avg_sales;
Может кто-то один указать, какой параметр был упущен, чтобы найти решение этой ошибки и во-вторых, к какой группе По утверждению генерирует эта ошибка.Ошибка при запуске запроса на Teradata-Selected, не агрегированные значения должны быть частью соответствующей группы
Привет, Он работал, написав ту же группу, по заявлению, но теперь он говорит, что rev.store не существуют в базе данных. В заявлении ON ON store_msa.store = rev.store Код ошибки - 3810 Сообщение об ошибке - [База данных Teradata] [TeraJDBC 15.10.00.05] [Ошибка 3810] [SQLState 42S22] Столбец/параметр «UA_DILLARDS.rev.store» не существовать. –
Вам нужно добавить его в Select-list – dnoeth
Привет, да проблема решена, но запрос продолжает работать, не знаю почему. может быть что-то неправильно с логикой запроса. Спасибо за помощь. (Не могли бы вы сообщить мне, есть ли логическая ошибка в запросе) –