Getting error ORA-00936: missing expression

user1958780 picture user1958780 · Jan 26, 2013 · Viewed 16.1k times · Source

When I trying the below SQL I am getting the error ORA-00936: missing expression. Please help me on this, I want distinct on those to columns in Oracle SQL

SELECT rr.RPT_QUE_I, 
       DISTINCT (rr.ed_sbmt_m, rr.RPT_RUN_STAT_C),
       rr.rpt_cstm_x,
       rr.rpt_cmplt_m,
       CASE 
         WHEN rr.rpt_run_stat_c = 25453 THEN 'PENDING' 
         WHEN rr.rpt_run_stat_c = 25454 THEN 'ACTIVE' 
         WHEN rr.rpt_run_stat_c = 25455 THEN 'FINISHED' 
         WHEN rr.rpt_run_stat_c = 25458 THEN 'ERROR' 
         WHEN rr.rpt_run_stat_c = 25460 THEN 'SCHEDULED' 
       END,
       cc.pro_sym_I,
       rr.usr_wad_ownr_i 
  FROM audit_REPORT_RUN rr, 
       CLIENT_COMPANY cc
 WHERE rr.ED_SBMT_M > TO_DATE('06/01/2012','mm/dd/yyyy') 
   AND rr.ED_SBMT_M < TO_DATE('07/01/2012','mm/dd/yyyy') 
   AND rr.ORG_I = cc.ORG_I
ORDER BY rr.RPT_QUE_I

Answer

ajmalmhd04 picture ajmalmhd04 · Jan 28, 2013

You should use DISTINCT keyword at first after the SELECT keyword, and remove the parenthesis, or if you need to categorize some of it, use GROUP BY functions. hope you're getting the desired result.