hello world!!!!!

写下自己的一些心得,写下自己问题的方式,写下程序之路的艰辛,希望能够有朝一日成为大牛。
  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

oracle case when 在查询时候的用法。

Posted on 2016-06-04 11:14  陈力  阅读(435)  评论(0编辑  收藏  举报
select count(1), features_level
  from (SELECT i.features_level,
               i.features,
               T.BASEAMINE_ID,
               T.COLUMN_NAME,
               V.COLUMN_VALUE,
               V.DETAIL_ID,
               
               (case
                 when i.features = '计数' AND V.COLUMN_VALUE = 'NG' then
                  0
                 when (i.features = '计量' AND V.COLUMN_VALUE <> '-') and
                      (to_number(V.COLUMN_VALUE) > i.offset_value_up or
                      to_number(V.COLUMN_VALUE) <= i.offset_value_low) then
                  0
                 else
                  1
               end) as illLegal
        
          FROM OQC_BASE_STANDRAD_TITLE T
         INNER JOIN OQC_BASE_STANDRAD_VALUE V
            ON T.ID = V.COLUMN_ID, oqc_inspection_sample_item i
         WHERE T.STATE = 'A'
           AND T.BASEAMINE_ID = 'EDF58BDBA5D14800B2C19B539EE795EF'
           and t.is_insepection_result = '1'
           and v.detail_id = i.id)
 where illLegal = 0
 group by features_level
 
 --select * from oqc_inspection_sample s