Я использую iReport от Jaspersoft для создания отчета, который будет извлекать данные из моей базы данных CMMS Maintenance Assistant. БД находится на локальном хосте, и я не создаю никаких таблиц или столбцов. MA CMMS позаботится об этом. Я хочу, чтобы данные были упорядочены в отчете.Ссылка на SQL-столбец недействительна
Вот мой код:
SELECT *
FROM "tblworkordertask"
WHERE "dbltimespenthours" > 0
AND "dtmdatecompleted" BETWEEN $P{DATE_FROM} AND $P{DATE_TO}
GROUP BY "intworkorderid"
и моя ошибка:
Caused by: java.sql.SQLSyntaxErrorException: Column reference 'tblWorkOrderTask.id' is invalid, or is part of an invalid expression. For a SELECT list with a GROUP BY, the columns and expressions being selected may only contain valid grouping expressions and valid aggregate expressions.
Я не знаю, почему ошибка имеет в виду «tblWorkOrderTask.id», потому что у меня нет таких колонке, и я не просил эту колонку.
Если я вывожу предложение group by, он работает нормально, но, как вы могли ожидать, я получаю несколько результатов с одним и тем же WorkOrderID. Я хочу сгруппировать его по этому столбцу, а затем подсчитать результаты. Я попытался использовать SELECT DISTINCT, но потом получаю ошибки о столбцах, которые не выбраны.
Что представляют собой поля в tblWorkOrderTask? – kevro
На данный момент я не работаю, но я обязательно посмотрю на это. Я знаю, что для этого отчета мне только немного о них. –
Поля: «id», «intWorkOrderID», «intOrder», «dblTimeSpentHours», «strDescription», «intAssignedToUserID», «dtmDateCompleted», «intCompletedByUserID» –