2017-03-08 3 views
0

私はそのためDESCLIMIT 1、私はAdvanced MySql Query: Update table with info from another tableアップデート表

を見てきました。しかし、私は唯一のWHERE句を満たす最後のエントリをしたい

UPDATE TABLE profile 
SET profile_photo = (SELECT photo_id FROM photos WHERE profile_id 
= 'someprofileid' ORDER BY photo_id DESC LIMIT 1;) 
WHERE 'somecolumn' = 'some criteria' 

ような何かを実行したいです。 SETの情報にこれらの基準を含めるにはどうすればよいですか?

(私の目標は、例えばaは削除したりかなった後、最新のプロフィール画像にプロフィール画像を変更更新することである)

+1

削除。限界1の後 –

答えて

1

限度とDESCの使用選択クエリと

シンプルなそのIDにidと火アップデートを入手
1

updateorder bylimitサポートしています。

UPDATE TABLE profile p 
    SET profile_photo = (SELECT photo_id 
          FROM photos ph 
          WHERE ph.profile_id = 'someprofileid' 
          ORDER BY photo_id DESC 
          LIMIT 1 
         ) 
    WHERE p.'somecolumn' = 'some criteria' 
    ORDER BY p.id DESC -- you need to order by something 
    LIMIT 1; 
関連する問題