У меня есть представление, которое я создал в Oracle. Он возвращает строки, но когда я использую его через Crystal Reports, я не получаю строк. Я сузил к этому КТРУ в запросе позади зрения:Oracle возвращает строки - Crystal Reports не
WITH PERIODS AS (
SELECT
ROWNUM-13 RN,
TO_DATE('01-JUL-' || TO_CHAR(ADD_MONTHS(TRUNC(SYSDATE),-6), 'YYYY')) AS FISCAL_YEAR_START,
ADD_MONTHS(TO_DATE('01-JUL-' || TO_CHAR(ADD_MONTHS(TRUNC(SYSDATE),-6), 'YYYY')), ROWNUM-13) AS MONTH
FROM
DUAL
CONNECT BY
ROWNUM <= 24
)
Это довольно странно, как если бы я заменить этот КТР со следующим, он работает (это второй запрос, что был первоначальный доклад , но из-за логических проблем при нахождении финансового года его пришлось изменить).
WITH PERIODS AS (
SELECT
ROWNUM-13 RN,
ADD_MONTHS(TRUNC(sysdate,'yyyy'),6) AS FISCAL_YEAR_START,
TRUNC(ADD_MONTHS(ADD_MONTHS(TRUNC(sysdate,'yyyy'),6), ROWNUM-13),'MONTH') MONTH
FROM
DUAL
CONNECT BY
ROWNUM <= 24
)
Любая идея, почему второй CTE заставляет отчеты Crystal не вытягивать какие-либо записи? Есть определенные строки, возвращаемые с обоими запросами, просто Crystal Reports не нравится первый запрос (хотя я не понимаю, почему, поскольку я бы подумал, что Crystal просто запросит Oracle для данных, а не будет обеспокоен тем, что стоит вид ?!)
Это не упростит это, поскольку это не приведет к динамическому выходу текущего финансового года, чего и достигнет это утверждение. Нет, ошибок нет. Два запроса возвращают те же результаты при запросе таблицы; просто Crystal Reports думает, что он возвращает 0 строк с первым утверждением. – Lock
Я понимаю, что это будет отличаться в зависимости от sysdate. Дело в том, что у вас нет второго аргумента для TO_DATE, что заставляет его зависеть от настроек уровня сеанса, которые могут различаться в зависимости от того, как вы подключаетесь. –
Ооооооооооооо! Тогда это имеет смысл. Однако я не понимаю, почему я могу выбирать данные из представления еще в одной программе, но не в другом? Я бы подумал, что формат даты за точкой зрения зависит от сервера oracle, а не от параметров приложений (так как это представление, я бы ожидал, что эта часть будет прозрачной для приложения?) – Lock