2017-02-17 2 views
1

Я следующий запрос:Повторяющиеся поля в таблице, отличаются не работает

select distinct 
    ROW_ID = row_number() over (
    order by wms_us.wms_us.rrno.rrdate 
    , wms_us.wms_us.rrno.pono 
    , wms_us.wms_us.transferboxdet.meidhex 
    , att.Date_cleared 
    ) 
, ATT_PO = wms_us.wms_us.rrno.pono 
, Received_Date = wms_us.wms_us.rrno.rrdate 
, IMEI = case 
     when len(wms_us.wms_us.transferboxdet.meidhex) >= 15 
     then left(wms_us.wms_us.transferboxdet.meidhex, 14) 
     else wms_us.wms_us.transferboxdet.meidhex 
     end 
, Model = case 
     when (wms_us.wms_us.model.modeldesc = 'MIXED') 
     then wms_us.wms_us.transferboxdet.basemodel 
     else wms_us.wms_us.model.modelbase 
     end 
, Date_cleared = case 
     when (Future.[Error Code] = '1') 
     then Future.LocalTime 
     else att.Date_cleared 
     end 
, Result = case 
     when (Future.[Error Code] = '1') 
     then 'PASS' 
     else att.Result 
     end 
from wms_us.wms_us.transferboxdoc 
    inner join wms_us.wms_us.transferboxdet 
    on wms_us.wms_us.transferboxdoc.transferboxdocid 
     = wms_us.wms_us.transferboxdet.transferboxdocid 
    inner join wms_us.wms_us.rrno 
    on wms_us.wms_us.transferboxdet.rrnoid = wms_us.wms_us.rrno.rrnoid 
    inner join wms_us.wms_us.model 
    on wms_us.wms_us.transferboxdoc.modelid = wms_us.wms_us.model.modelid 
    left join DRSCSQLQADB01.att_view2.dbo.attview2 as att 
    on att.IMEI = LEFT(wms_us.wms_us.transferboxdet.meidhex, 14) 
    inner join Futerdial.dbo.Futuredial_Validation as Future 
     on Future.IMEI = wms_us.wms_us.transferboxdet.meidhex 
where (wms_us.wms_us.rrno.rrdate > '2016-12-01') 
    and Future.IMEI = '352130070643357' 

У меня есть IMEI в таблице Futuredial_Validation дубликата, я пытался использовать Distinct, чтобы показать мне одну IMEI, но он не работает, есть альтернатива, которую я могу использовать? Или я использую это неправильно? Прикрепите снимок того, что показывает мне, я только один увижу первый.

Screenshot

Благодаря

ответ

0

Для строк, которые будут отфильтрованы различны, все значения должны быть одинаковыми. В этом запросе похоже, что вы можете просто обернуть запрос в CTE и фильтровать по ROW_ID = 1.

Смежные вопросы