Peter Jameson wrote:
> Can any assist me with the syntax required for the following problem please.
>
> Given the table and data below I want to update the row with the highest
> key_field2 (within key_field1) to set key2_biggest to 'Y'. So rows
> 10,3 + 11,2 + 12,3 + 13,1 + 14,1 would be set to 'Y'.
>
>
> Table: create table test_table
> (key_field1 char(10),
> key_field2 integer1,
> key2_biggest char(1))
>
>
> Data:
> insert into test_table values('10',1,'')
> insert into test_table values('10',2,'')
> insert into test_table values('10',3,'')
> insert into test_table values('11',1,'')
> insert into test_table values('11',2,'')
> insert into test_table values('12',1,'')
> insert into test_table values('12',2,'')
> insert into test_table values('12',3,'')
> insert into test_table values('13',1,'')
> insert into test_table values('14',1,'')
update test_table t1
set key2_biggest = 'Y'
where not exists ( select *
from test_table t2
where t2.key_field1 = t1.key_field1
and t2.key_field2 > t1.key_field2 )
--
Roy
UK Actian User Association Conference 2013 will be on Tuesday June 11. 2013.
The latest information is available from
www.uk-iua.org.uk.