Я использую базу данных Postgres.Я хочу получить определенные столбцы из таблицы.Следующий запрос работает нормально при его выполнении в PgAdmin III, но выдает исключение
org.hibernate.hql.internal.ast.QuerySyntaxException: неожиданный токен: (возле строки 2, столбец 56
при выполнении через код JAVA.
Запрос:
SELECT 40 AS client_id,
0 AS account_id,
0 AS search_engine_id,
'present' AS date_type,
coalesce(stats.clicks, 0) AS clicks,
d.day AS date
FROM (
SELECT generate_series(timestamp '2018-06-10', timestamp '2018-06-16', interval '1 day')::date
) d (day)
LEFT JOIN (
SELECT 40 AS client_id,
0 AS account_id,
0 AS search_engine_id,
date_type,
sum(clicks) AS clicks,
to_date(date, 'YYYY-MM-dd') AS date
FROM ne_email_stats
WHERE client_id = 40
AND account_id IN (13, 14)
AND date BETWEEN '2018-06-10' AND '2018-06-16'
GROUP BY date,
date_type
) stats ON stats.date = d.day
ORDER BY date ASC
Код для выполнения запроса:
Query query = em.createQuery(pSqlQuery, EmailReportStats.class);
emailReportStatses = query.getResultList();
if (!emailReportStatses.isEmpty()) {
for (EmailReportStats emailReport : emailReportStatses) {
emailReport.setDate(LocalDate.parse(emailReport.getDate()).format(DateTimeFormatter.ofPattern("dd MMM")));
emailReportStats.add(emailReport);
}