Daniel Kiss writes:
> Hi all,
> 
> I have two tables
> 
> 
> CREATE TABLE main (
>    ID int not null,
>    Value int
> );
> 
> CREATE TABLE sub (
>    mainID int not null,
>    KeyDate date not null,
>    SubValue int not null
> );
> 
> 
> I want the Value field in the main table to be set to the latest SubValue 
> in the sub table.
> I suppose this syntax should work. But it does not, and sets the Value 
> fields to incorrect values.
> 
> update main set Value = (select SubValue from sub where main.ID = 
> sub.mainID order by KeyDate desc limit 1)
> 
> Any ideas?
> 
> Thanks,
>       Dan
> 

Can you try (with 4.1.1 from our BK tree):

update main set Value = (select max(SubValue) from sub);

There should also be a WHERE clause for update statement or all rows
will be updated.
 

-- 

Regards,

--
For technical support contracts, go to https://order.mysql.com/?ref=msmi
   __  ___     ___ ____  __
  /  |/  /_ __/ __/ __ \/ /    Mr. Sinisa Milivojevic <[EMAIL PROTECTED]>
 / /|_/ / // /\ \/ /_/ / /__   MySQL AB
/_/  /_/\_, /___/\___\_\___/   Fulltime Developer and Support Coordinator
       <___/   www.mysql.com   Larnaca, Cyprus


-- 
MySQL General Mailing List
For list archives: http://lists.mysql.com/mysql
To unsubscribe:    http://lists.mysql.com/[EMAIL PROTECTED]

Reply via email to