2014-10-17 100 views
0

我有兩個字段有記錄,重複多次。我需要從一個字段中選擇一條不同的記錄,然後將其與該提供者ID的隨機記錄(索賠編號)進行匹配。到目前爲止,我對此感到困難。以下肯定不起作用。不同記錄與另一個不同領域的不同記錄

Select Distinct 
    a.Provider_Id, a.Prov_Name, MIN(a.claim_number) 

from maindb a 
where a.PROV_st='MA' 
and a.Provider_Id <> '' 
group by a.Legacy_Provider_Id, a.Original_Claim_Number, a.Prov_Name 

回答

2

您沒有羣組。沒有它你不能使用聚合函數。嘗試通過a.Provider_Id,a.Prov_Name

加入

集團的聲明和經過。

+0

我正要建議'GROUP BY'以及請注意,如果你這樣做了,那麼你就不需要'DISTINCT'了, – 2014-10-17 03:00:40

+0

仍然有重複的記錄,我在原始代碼中使用了grp功能,但是在我意外複製/粘貼時,我在這裏將其切斷。 – user3455588 2014-10-17 03:12:41

+0

你爲什麼按索賠號碼分組?這將有效地否定分鐘的點,並給你一個e ach提供者,提供者名稱和聲明的唯一組合,這會導致重複的行。例如,如果你有一個名爲ABC的提供者A有兩個索賠1,2,你將得到2行,並且A ABC 1 – user4152136 2014-10-17 03:17:06

0

一個min是一個聚合,可以只完成一個字段查詢或group by子句。

在你情況下,你可以通過PROVIDER_ID和prov_name組(前提是prov_name由唯一PROVIDER_ID定義。

select provider_id, prov_name, min(claim_number) 
from maindb 
where prov_st = 'MA' 
and provider_id <> '' 
group by provider_id, prov_name 

這應該做的伎倆

+0

我編輯了我發佈的原始代碼,以包含grp,因爲我最初在運行代碼時使用了該代碼。我仍然得到很多重複。如果有意義的話,claim_no字段可以有很多迭代? – user3455588 2014-10-17 03:16:35

+0

你在哪裏可以重複,在哪個領域? – 2014-10-17 03:17:33