Как создать временную таблицу в терадате

BEGIN;
CREATE TEMP FACT TABLE new_table  DISTRIBUTE BY hash(a.var3) as
SELECT (YEAR(a.var1) - b.var2), a.var3
FROM d.data1 a, c.data2 b
WHERE (YEAR(var1) - var2) > 40
;

GO
SELECT * FROM age_DRG;
END;

Я не уверен, что не так с этим кодом. Я продолжаю получать эту ошибку

"Executed as Single statement.  Failed [34 : HY000] [AsterData][ASTERJDBCDSII](34) NOTICE: current transaction is aborted, queries ignored until end of transaction block () 
Elapsed time = 00:00:00.016 

STATEMENT 1: BEGIN;
CREATE Statement failed. "

1 ответ

  1. Нет такой функции YEAR, вместо нее можно использовать date_trunc('year', somedate)
  2. Вам не нужно использовать ключевое слово "FACT", Aster поймет его по типу распределения
  3. верно, в Aster нет ключевого слова GO
  4. Я бы порекомендовал вам использовать объединения, чтобы быть более точным, потому что Aster был разработан для расчета данных на рабочей стороне, и, я думаю, объединения будут более "читабельными" для Aster.
Другие вопросы по тегам