Need help to INNER JOIN multiple tables and use last value row in MySQL -


i have 3 tables follow:

comments

|id| |uid| |tid| 

tracks

|id| |uid| 

notifications

|id| |from| |tox| 

how can update notifications , set tox equal tracks.uid of relative tracks.id equal last comments.tid value?

i tried without success:

update notifications set tox = (   select uid tracks    inner join comments on tracks.id = comments.tid order comments.tid desc limit 1   comments.tid=tracks.id) tox = 0 order id desc limit 1; 

update

first edit , moved order by @ end suggested. after got different error 1052 - column 'typeid' in field list ambiguous.

i solved like:

update `notifications` set `tox` = (   select tracks.uid `tracks`    inner join `comments` on tracks.id = comments.tid    order comments.id desc limit 1) `tox` = 0 order `id` desc limit 1; 

i think problem syntax of subquery:

update notifications     set tox = (select uid                tracks inner join                     comments                     on tracks.id = comments.tid                comments.tid=tracks.id                order comments.tid desc                limit 1               )     tox = 0     order id desc     limit 1; 

the order by goes after where.


Comments

Popular posts from this blog

How has firefox/gecko HTML+CSS rendering changed in version 38? -

javascript - Complex json ng-repeat -

jquery - Cloning of rows and columns from the old table into the new with colSpan and rowSpan -