2014-09-03 5 views
0

Я пытаюсь определить набор данных в отчете JasperSoft (JasperSoft студия V 5,6), которая использует подзапрос с параметром, как это:Как использовать subselect в предложении where определения набора данных JasperReport?

SELECT id, value FROM foo WHERE id IN (SELECT id FROM bar WHERE user=$P{USER_PARAM}) 

ВЫБОР заявления подвыборки комментируется с сообщением об ошибке 'no viable alternative at input 'select'' ,

Dataset and Query Dialog Screenshot

SQL-оператор является исполняемым с помощью простых инструментов базы данных, так что должно быть что-то особенное в дер синтаксисе JasperReports.

Я благодарен за любую информацию о том, как реализовать мой прецедент в JasperSoft. Если подзапрос не поддерживается, каков рекомендуемый способ определения запроса?

+1

Вы пытались использовать ** $ P! {USER_PARAM} ** (т. Е. Используя вариант с восклицательным знаком)? – mkl

+0

@FrVaBe Подзаголовок поддерживается * JasperReports * –

+0

** $ P! ** не имеет значения. Проблема заключается в вложенном __SELECT__ (см. Мой скриншот без использования параметров). Я убежден, что JasperReports поддерживает подзапрос, но я должен делать что-то неправильно. – FrVaBe

ответ

-1

При использовании инструкции subselect в Jaspersoft Studio, это будет связано с указанной вами ошибкой. Но если вы проигнорируете ошибку и нажмите «Чтение полей», она читает ваши поля столбца, и когда вы используете ее в отчете, результат будет достигнут.

Я тестировал это, и он работает !!!

Смежные вопросы