Как получить конкретные столбцы из PostgreSQL при весенней загрузке - PullRequest
0 голосов
/ 04 декабря 2018

Я использую базу данных 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);
               }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...