I am fairly new to Oracle SQL. I can't seem to find the reason for the ORA-00904 message I get. I want to Substring on the FINISH_DATE field so that I get ONLY the date and not the time and then GROUP BY on that DATE but this error won't go away for me. Can anyone help? Thanks in advance. Here is the code as it is and error below it:
SELECT
VENDOR_JOB_TYPE,
CLIENT_SERVER,
MASTER_SERVER,
SUM(KILOBYTES) as TOTAL_KBYTES,
SUM(NBR_OF_FILES) as TOTAL_FILES,
SUM(TRY_COUNT) as TOTAL_TRYS,
COUNT(STREAM_INDEX) as TOTAL_STREAMS,
COUNT(DISTINCT NBU_JOB_ID) AS TOTAL_JOBS,
COUNT(DISTINCT PARENT_NBU_JOB_ID) AS TOTAL_PARENT_JOBS,
COUNT(DISTINCT SUMMARY_STATUS) as TOTAL_SUMMMARY_STATUS,
SUBSTR(apt_v_nbu_job.FINISH_DATE,1,10) AS FINISH_DATE,
Sum(Case When SUMMARY_STATUS = 0 Then 1 Else 0 End) As TotalStatusSuccess,
Sum(Case When SUMMARY_STATUS = 1 Then 1 Else 0 End) As TotalStatusWarns,
Sum(Case When SUMMARY_STATUS = 2 Then 1 Else 0 End) As TotalStatusFails
FROM (
SELECT
apt_v_nbu_job.VENDOR_JOB_TYPE,
SUBSTR(apt_v_server.HOSTNAME,1,INSTR(apt_v_server.HOSTNAME||'.','.')-1) CLIENT_SERVER,
apt_v_nbu_job.KILOBYTES,
apt_v_nbu_job.NBR_OF_FILES,
apt_v_nbu_job.TRY_COUNT,
apt_v_nbu_job.STREAM_INDEX,
apt_v_nbu_job.NBU_JOB_ID,
apt_v_nbu_job.PARENT_NBU_JOB_ID,
apt_v_nbu_job.SUMMARY_STATUS,
(SELECT SUBSTR(apt_v_server.HOSTNAME,1,INSTR(apt_v_server.HOSTNAME||'.','.')-1)
FROM apt_v_server
WHERE apt_v_nbu_job.SERVER_ID = apt_v_server.SERVER_ID) AS MASTER_SERVER
FROM
apt_v_nbu_job
INNER JOIN
apt_v_server
ON
apt_v_nbu_job.CLIENT_ID = apt_v_server.SERVER_ID
WHERE
(apt_v_nbu_job.FINISH_DATE BETWEEN TO_DATE('2008-01-31 00:00:00', 'YYYY-MM-DD HH24:MI:SS')
AND TO_DATE('2008-01-31 23:59:59', 'YYYY-MM-DD HH24:MI:SS'))
AND ((apt_v_server.HOSTNAME NOT IN ('ALL','NULL')) OR
(apt_v_nbu_job.VENDOR_JOB_TYPE NOT IN ('')))
)
GROUP BY
FINISH_DATE,
VENDOR_JOB_TYPE,
CLIENT_SERVER
/
ERROR at line 12:
ORA-00904: "APT_V_NBU_JOB"."FINISH_DATE": invalid identifier
SELECT
VENDOR_JOB_TYPE,
CLIENT_SERVER,
MASTER_SERVER,
SUM(KILOBYTES) as TOTAL_KBYTES,
SUM(NBR_OF_FILES) as TOTAL_FILES,
SUM(TRY_COUNT) as TOTAL_TRYS,
COUNT(STREAM_INDEX) as TOTAL_STREAMS,
COUNT(DISTINCT NBU_JOB_ID) AS TOTAL_JOBS,
COUNT(DISTINCT PARENT_NBU_JOB_ID) AS TOTAL_PARENT_JOBS,
COUNT(DISTINCT SUMMARY_STATUS) as TOTAL_SUMMMARY_STATUS,
SUBSTR(apt_v_nbu_job.FINISH_DATE,1,10) AS FINISH_DATE,
Sum(Case When SUMMARY_STATUS = 0 Then 1 Else 0 End) As TotalStatusSuccess,
Sum(Case When SUMMARY_STATUS = 1 Then 1 Else 0 End) As TotalStatusWarns,
Sum(Case When SUMMARY_STATUS = 2 Then 1 Else 0 End) As TotalStatusFails
FROM (
SELECT
apt_v_nbu_job.VENDOR_JOB_TYPE,
SUBSTR(apt_v_server.HOSTNAME,1,INSTR(apt_v_server.HOSTNAME||'.','.')-1) CLIENT_SERVER,
apt_v_nbu_job.KILOBYTES,
apt_v_nbu_job.NBR_OF_FILES,
apt_v_nbu_job.TRY_COUNT,
apt_v_nbu_job.STREAM_INDEX,
apt_v_nbu_job.NBU_JOB_ID,
apt_v_nbu_job.PARENT_NBU_JOB_ID,
apt_v_nbu_job.SUMMARY_STATUS,
(SELECT SUBSTR(apt_v_server.HOSTNAME,1,INSTR(apt_v_server.HOSTNAME||'.','.')-1)
FROM apt_v_server
WHERE apt_v_nbu_job.SERVER_ID = apt_v_server.SERVER_ID) AS MASTER_SERVER
FROM
apt_v_nbu_job
INNER JOIN
apt_v_server
ON
apt_v_nbu_job.CLIENT_ID = apt_v_server.SERVER_ID
WHERE
(apt_v_nbu_job.FINISH_DATE BETWEEN TO_DATE('2008-01-31 00:00:00', 'YYYY-MM-DD HH24:MI:SS')
AND TO_DATE('2008-01-31 23:59:59', 'YYYY-MM-DD HH24:MI:SS'))
AND ((apt_v_server.HOSTNAME NOT IN ('ALL','NULL')) OR
(apt_v_nbu_job.VENDOR_JOB_TYPE NOT IN ('')))
)
GROUP BY
FINISH_DATE,
VENDOR_JOB_TYPE,
CLIENT_SERVER
/
ERROR at line 12:
ORA-00904: "APT_V_NBU_JOB"."FINISH_DATE": invalid identifier