6770666 | uid123 | 2007-01-19 16:22:37.268789 | 10000 | 0 | 51
5158288 | uid123 | 2006-03-03 15:23:01.587067 | 104000 | 5000| 11
id|uid|date|amount|balance|type
이런식에 자료가 있습니다.
현재 51 번에 balance가 잘못 들어 가있어서 그값을 업데이트 해야 합니다.
6770666에 balance에 값은 6770666에 amount + 5158288 에 balance가 되어야 하는데여
제가 생각한 쿼리는
update cash_tx set balance = amount + (select balance from cash_tx where date < (select date from cash_tx where uid='uid123' and type=51 ) and uid='uid123' order by date desc limit 1) where uid='uid123' and type =51;
이런식에 쿼리를 만들었습니다. 보기에도 좀 이상하고 뭔가 매칭이 제대로 안돼는거 같습니다.
심플한 방법이나 아님 이전 값을 자동으로 가져오는 것이 있으면 알려주세요 부탁드립니다.
|