2012-05-04 84 views
0

嗨,我有一个像表这个 会员卡更新语句值

AssoicaticeCard  MainCard custID 
A      A   1 
B      B   1 
C      A   1 
AA      AA   2 
BC      BC   2 
CC      CC   2 
Ar      Ar   3 
Bs      Bs   3 
Cv      Cv   3 

现在我需要的结果来设定这样在我的AssoicaticeCard和MainCard已被链接正确

我需要的结果像这样显示 如何写一个更新语句此得到achived

AssoicaticeCard  MainCard custID 
A      A   1 
B      A   1 
C      A   1 
AA      AA   2 
BC      AA   2 
CC      AA   2 
Ar      Ar   3 
Bs      Ar   3 
Cv      Ar   3 

我有一个表格与数据一样,这是不一致的,现在需要编写一个更新状态来解决问题。我的表有大约100万条记录 任何想法如何得到它achived,有这方面的帮助将是巨大

感谢 王子

+0

u需要更新语句?或者你需要以你要求的模式显示?我感到困惑。 – sree

+0

我有一个像数据一样的表,现在需要写一个更新状态来解决这个问题。我的桌子上有大约100万条记录 – happysmile

+0

你怎么知道'A'是你想要的'1'而不是'B'的值?是因为值“A

回答

0
update clubcard set Maincard = 'A' where custID = 1; 
update clubcard set Maincard = 'AA' where custID = 2; 
update clubcard set Maincard = 'Ar' where custID = 3; 
2
update T1 
set MainCard = T2.AssoicaticeCard 
from YourTable as T1 
    inner join 
     (
     select min(AssoicaticeCard) as AssoicaticeCard, 
       custID 
     from YourTable 
     group by custID 
    ) T2 
    on T1.custID = T2.CustID