Jump to content

Update with subquerie help!


RockyLou

Recommended Posts

I'm doing this update statement here:

 

mysql_query("UPDATE hr_user as u, hr_building as b SET
u.xp=u.xp + b.land + $char_xp WHERE u.userid=b.userid");

 

The way I get $char_xp is by a loop for the users and I want to eliminate using loops.  Is there a way I can use a subquerie to retreive the value? Note: there can be more than 1 field in the other table

 


mysql_query("UPDATE hr_user as u, hr_building as b SET
u.xp=u.xp + 
             b.land + 
             (select sum(m.xp) from hr_military as m)
WHERE u.userid=b.userid AND u.userid=m.userid");

 

 

I need something like that, any ideas?

 

 

Link to comment
https://forums.phpfreaks.com/topic/50558-update-with-subquerie-help/
Share on other sites

yeah but would it work with the parent query ?

 

mysql_query("UPDATE hr_user as u, hr_building as b SET
u.xp=u.xp + 
             b.land + 
             (select sum(m.xp) from hr_military as m WHERE m.userid=u.userid)
WHERE u.userid=b.userid AND u.userid=m.userid");

what is the final `AND u.userid=m.userid` all about?

 

written differently:

UPDATE hr_user
     INNER JOIN hr_building ON hr_user.user_id = hr_building.userid
SET hr_user.xp = hr_user.xp + hr_building.land + ( 
     SELECT sum(hr_military.xp) 
     FROM hr_military 
     WHERE hr_military.userid = hr_user.user_id )

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.