0

我想知道如何使用如下查询将活动 ID 返回到父查询,以对父记录集进行重复数据删除。这里的问题是,使用这个组或不同的我找不到方法。

我将使用所有 group by 字段来确定唯一记录。但是,我只需要使用带有 select min(status.effective_date) 的记录

该查询返回正确的日期值,但我无法将其链接回仅具有该日期值的父活动记录。

select min(status.effective_date) 
  from accounts 
     , address 
     , activity 
     , status 
 where accounts.par_row_id = activity.account_id 
   and address.row_id = activity.address_id
   and status.par_row_id = activity.status_id                                        
   and account.name = 'xyz'
 group by account.name, address.addr, address.ADDR_LINE_2, address.ADDR_LINE_3
        , address.ADDR_LINE_4, address.CITY, address.COUNTRY, address.X_STATE
        , address.ZIPCODE
4

1 回答 1

0

你应该试试这个查询:

select min(activity.row_id) keep(dense_rank first order by status.effective_date) as activity_id
from accounts
, address
, activity
, status
where accounts.par_row_id = activity.account_id 
and address.row_id = activity.address_id
and status.par_row_id = activity.status_id
and accounts.name = 'xyz'
group by accounts.name, address.addr, address.ADDR_LINE_2, address.ADDR_LINE_3
    , address.addr_line_4, address.city, address.country, address.x_state
    , address.ZIPCODE;
于 2013-06-28T08:50:38.597 回答