私はこのようなテーブル「ダミー」を持っています
name, status , date, is-updated
n1, s1, 2013-09-01, false
n2, s2, 2013-09-01, false
n1, s11, 2013-09-02, false
特定の名前の最新のタイムスタンプを取得するために、次のクエリを使用しています。
select name, status, max(date)
from dummy
where is-updated=false
group by name,status
これは期待どおりに機能しており、2行が返されます
n2, s2, 2013-09-01, false
n1, s11, 2013-09-02, false
上記の 2 行の「is-updated」値を「true」に更新する方法は?? SQL の 'IN' 句は複数の列をサポートしていません。
update dummy
set is-updated = true
where name, status, date in (
select name, status, max(date)
from dummy
where is-updated=false
group by name,status
)
誰でもこれを手伝ってもらえますか? ありがとう。