数据过滤查询

时间:2012-09-10 16:30:08

标签: oracle

我的表格包含

的数据
REF_NO  PRODUCT  MTR 
1       200       20
1       200       21
1       300       35
1       400       42
2       200       21
2       399       31

现在我希望REF_NO和PRODUCT相同但MTR不同的行。

需要的结果是: -

REF_NO  PRODUCT  MTR 
1       200       20
1       200       21

2 个答案:

答案 0 :(得分:2)

select t.REF_NO, t.PRODUCT, t.MTR
from (
    select REF_NO, PRODUCT    
    from MyTable
    group by REF_NO, PRODUCT
    having count(distinct MTR) > 1
) tm 
inner join MyTable t on tm.REF_NO = t.REF_NO 
    and tm.PRODUCT = t.PRODUCT

SQL Fiddle Example

答案 1 :(得分:0)

确定。我在写这个问题时得到了所需的查询。

select a.REF_NO, a.PRODUCT, a.MTR 
  from MYTABLE a, MYTABLE b
where a.REF_NO = b.REF_NO, a.PRODUCT = b.PRODUCT 
   and a.MTR <> b.MTR;