sql server 2008 - SQL Update First record of Duplicate row in table -


i looking update first record when duplicate found in table.

create table tblauthor      (      col1 varchar(20),       col2 varchar(30)        );  create table tblbook      (      col1 varchar(20),       col2 varchar(30),      col3 varchar(30)          );  insert tblauthor (col1,col2) values ('1', 'john'), ('2', 'jane'), ('3', 'jack'), ('4', 'joe');  insert tblbook (col1,col2,col3) values ('1', 'john','book 1'), ('2', 'john','book 2'), ('3', 'jack','book 1'), ('4', 'joe','book 1'), ('5', 'joe','book 2'), ('6', 'jane','book 1'), ('7', 'jane','book 2'); 

the update result want accomplish should update records follows. tblbook.col3 = 1st.

select * tblbook  ('1', 'john','1st'), ('3', 'jack','1st'), ('4', 'joe','1st'), ('6', 'jane','1st'); 

can't seem done distinct.

use row_number assign number each row grouped author's name (col2) , update ones have number of 1

update tblbook set col3 = '1st' col1 in(     select         col1     (         select              tblbook.col1,             tblbook.col2,             tblbook.col3,             row_number() on (partition tblbook.col2 order tblbook.col1) rownum         tblbook              left outer join tblauthor on tblbook.col2 = tblauthor.col2     ) [t1]     [t1].rownum = 1 ) 

fiddle: http://sqlfiddle.com/#!3/4b6c8/20/0


Comments

Popular posts from this blog

java - How to specify maven bin in eclipse maven plugin? -

single sign on - Logging into Plone site with credentials passed through HTTP -

php - Why does AJAX not process login form? -