Как рассчитать созданное пользователем поле - Orcale SQL - PullRequest
0 голосов
/ 27 сентября 2019

Я хочу создать отчет для подсчета количества заданий, зарегистрированных в неделю.Я создал поле в коде ниже под названием «Week_Logged», однако, когда я пытаюсь подсчитать это поле, я получаю сообщение об ошибке, в котором говорится:

SQLSTATE = S0022

[Oracle] [ODBC] [Ora] ORA-00904: «WEEK_LOGGED»: Неверный идентификатор

Существует ли простой способ подсчета количества рабочих мест, созданных за неделю?

select
  TO_CHAR(job.actual_start_date, 'IW') as WEEK_LOGGED,
  count (WEEK_LOGGED)
      FROM
      JOB
      INNER JOIN JOB_ITEM ON JOB.JOB_NUMBER = JOB_ITEM.JOB_NUMBER
      INNER JOIN SOR_ITEM ON JOB_ITEM.SOR_ITEM_CODE = SOR_ITEM.SOR_ITEM_CODE
         WHERE
         SOR_ITEM.SOR_ITEM_CODE = 'RF-002'
GROUP BY
WEEK_LOGGED
ORDER BY
WEEK_LOGGED

Ответы [ 2 ]

2 голосов
/ 27 сентября 2019

Ваш запрос должен выглядеть примерно так:

SELECT TO_CHAR(actual_start_date, 'IW') week_logged,
       COUNT(*)
  FROM JOB
       INNER JOIN JOB_ITEM ON JOB.JOB_NUMBER = JOB_ITEM.JOB_NUMBER
       INNER JOIN SOR_ITEM ON JOB_ITEM.SOR_ITEM_CODE = SOR_ITEM.SOR_ITEM_CODE
 WHERE SOR_ITEM.SOR_ITEM_CODE = 'RF-002'
GROUP BY TO_CHAR(actual_start_date, 'IW')
ORDER BY week_logged
1 голос
/ 27 сентября 2019

Если изменить GROUP BY предложение на

GROUP BY TO_CHAR (job.actual_start_date, 'IW')

и изменить count на

count (*)

, все должно быть в порядке.

ORDER BY можетпо-прежнему использовать week_logged, нет проблем.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...