| Author |
Topic |
|
rudba
Constraint Violating Yak Guru
415 Posts |
Posted - 2009-08-21 : 13:14:22
|
| How do i Snum like following outputDeclare @tbl1 table (ID INT,AID INT,Alvl INT,SNum INT)INSERT INTO @tbl1SELECT 1, 101,0,NULLINSERT INTO @tbl1SELECT 2, 101,1,NULLINSERT INTO @tbl1SELECT 3, 101,1,NULLINSERT INTO @tbl1SELECT 4, 101,1,NULLINSERT INTO @tbl1SELECT 5, 101,1,NULLINSERT INTO @tbl1SELECT 6, 101,1,NULLINSERT INTO @tbl1SELECT 7, 102,0,NULLINSERT INTO @tbl1SELECT 8, 102,1,NULLINSERT INTO @tbl1SELECT 9, 102,1,NULLINSERT INTO @tbl1SELECT 10, 102,1,NULLINSERT INTO @tbl1SELECT 11, 0,0,NULLINSERT INTO @tbl1SELECT 12, 103,0,NULLINSERT INTO @tbl1SELECT 13, 103,1,NULLSelect * from @tbl1The Output looks like :ID AID Alvl SNum1 101 0 02 101 1 13 101 1 24 101 1 35 101 1 46 101 1 57 102 0 08 102 1 19 102 1 210 102 1 311 0 0 012 103 0 013 103 1 1 |
|
|
webfred
Master Smack Fu Yak Hacker
8781 Posts |
Posted - 2009-08-21 : 13:32:10
|
[code]Declare @tbl1 table (ID INT,AID INT,Alvl INT,SNum INT)INSERT INTO @tbl1SELECT 1, 101,0,NULLINSERT INTO @tbl1SELECT 2, 101,1,NULLINSERT INTO @tbl1SELECT 3, 101,1,NULLINSERT INTO @tbl1SELECT 4, 101,1,NULLINSERT INTO @tbl1SELECT 5, 101,1,NULLINSERT INTO @tbl1SELECT 6, 101,1,NULLINSERT INTO @tbl1SELECT 7, 102,0,NULLINSERT INTO @tbl1SELECT 8, 102,1,NULLINSERT INTO @tbl1SELECT 9, 102,1,NULLINSERT INTO @tbl1SELECT 10, 102,1,NULLINSERT INTO @tbl1SELECT 11, 0,0,NULLINSERT INTO @tbl1SELECT 12, 103,0,NULLINSERT INTO @tbl1SELECT 13, 103,1,NULL--Select * from @tbl1selectid,aid,alvl,row_number() over (partition by aid order by alvl)-1 as snumfrom @tbl1[/code] No, you're never too old to Yak'n'Roll if you're too young to die. |
 |
|
|
rudba
Constraint Violating Yak Guru
415 Posts |
Posted - 2009-08-21 : 14:06:11
|
| Thanks, webfredHow do i update on snum field?I tried this way but getting err:update tset snum= row_number() over (partition by aid)-1from @tbl1 tselect * from @tbl1 |
 |
|
|
vijayisonly
Master Smack Fu Yak Hacker
1836 Posts |
Posted - 2009-08-21 : 14:25:46
|
| [code]update aset a.snum = b.snumfrom @tbl1 ainner join(selectid,aid,alvl,row_number() over (partition by aid order by alvl)-1 as snumfrom @tbl1) b on a.id = b.id[/code] |
 |
|
|
rudba
Constraint Violating Yak Guru
415 Posts |
Posted - 2009-08-21 : 15:21:41
|
| Thabnks, vijayisonlyStill problems.If there is aid=0 than need to update snum also 0 |
 |
|
|
vijayisonly
Master Smack Fu Yak Hacker
1836 Posts |
Posted - 2009-08-21 : 15:58:52
|
Use a case statement update aset a.snum = case a.aid when 0 then 0 else b.snum endfrom @tbl1 ainner join(selectid,aid,alvl,row_number() over (partition by aid order by alvl)-1 as snumfrom @tbl1) b on a.id = b.id |
 |
|
|
rudba
Constraint Violating Yak Guru
415 Posts |
Posted - 2009-08-21 : 16:27:44
|
| Thanks guys, perfect job |
 |
|
|
webfred
Master Smack Fu Yak Hacker
8781 Posts |
Posted - 2009-08-21 : 16:39:49
|
I was offline a time to play C&C.But I see that vijayisonly has properly continued this thread.Thanks vijayisonly. No, you're never too old to Yak'n'Roll if you're too young to die. |
 |
|
|
vijayisonly
Master Smack Fu Yak Hacker
1836 Posts |
Posted - 2009-08-21 : 16:41:43
|
Np webfred ...btw what is C&C? |
 |
|
|
webfred
Master Smack Fu Yak Hacker
8781 Posts |
Posted - 2009-08-21 : 16:43:38
|
COMMAND & CONQUERTiberium WarsIt is an strategy game. No, you're never too old to Yak'n'Roll if you're too young to die. |
 |
|
|
|
|
|