database.sarang.net
UserID
Passwd
Database
DBMS
ㆍMySQL
PostgreSQL
Firebird
Oracle
Informix
Sybase
MS-SQL
DB2
Cache
CUBRID
LDAP
ALTIBASE
Tibero
DB 문서들
스터디
Community
공지사항
자유게시판
구인|구직
DSN 갤러리
도움주신분들
Admin
운영게시판
최근게시물
MySQL Q&A 30873 게시물 읽기
No. 30873
SUM관련
작성자
VA
작성일
2015-09-04 15:00
조회수
6,796

 MEMBER_MILEAGE

NUM SAVE_POINT USE_POINT MEMBER_ID
1 30 30 4568523
2 60 60 4568523
3 300 300 4568523
4 250 250 4568523
5 90 90 4568523
6 900 270 4568523
7 20   4568523
8 50   4568523

위의 테이블은 MEMBER_ID가 4568523의 포인트를 SELECT하여 가지고 온것 입니다.

1000포인트를 사용 하면 USE_POINT에 SAVE_POINT의 값이 들어가야 하며,

순서는 NUM의 순서대로 UPDATE를 해야 합니다.

참고로 6번은 900에서 사용된 포인트만 USE_POINT에 들어가야 합니다.

 

위를 처리하는 UPDATE문을 만들어야 하는데요...

잘 되지가 않아 문의 드립니다.

 

고수님들의 답변 부탁 드립니다.

이 글에 대한 댓글이 총 1건 있습니다.

SET SQL_SAFE_UPDATES = 0;

 

UPDATE test a
 INNER JOIN
       (SELECT num
             , save_point
             , IFNULL(use_point, 0)
             + CASE WHEN @p > save_point - IFNULL(use_point, 0)
                         THEN save_point - IFNULL(use_point, 0)
                    ELSE @p END use_point
             , @p := @p
             - CASE WHEN @p > save_point - IFNULL(use_point, 0)
                         THEN save_point - IFNULL(use_point, 0)
                    ELSE @p END
          FROM (SELECT *
                  FROM test
                 WHERE IFNULL(use_point, 0) < save_point
                   AND member_id = 4568523
                 ORDER BY num
                ) a
             , (SELECT @p := 1000) b
         WHERE @p > 0
        ) b
    ON a.num = b.num
   SET a.use_point = b.use_point
;

마농(manon94)님이 2015-09-07 15:46에 작성한 댓글입니다.
이 댓글은 2015-09-07 16:51에 마지막으로 수정되었습니다.
[Top]
No.
제목
작성자
작성일
조회
30877mysql 시간계산 문의드려요~
박경남
2015-09-21
6601
30876MSSQL에서 사용하던 WITH AS 를 MySQL에서 사용할 수 있나요 [4]
ADAM
2015-09-17
6677
30874in조건문 조회시 해결할 문제가 있습니다. [1]
이기자
2015-09-08
6805
30873SUM관련 [1]
VA
2015-09-04
6796
30872mysql odbc 급한데 도움좀 부탁 [2]
홍기복
2015-08-22
9618
30871완전초보인데요 리눅스로 서버 접속시 .. ip가 어떻게하면 테이블안으로 들어가나요 ? [3]
이상현
2015-08-19
7186
30870php에서 mysql원격 접속 안되는 문제.. [1]
박현규
2015-08-17
7276
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2023 DSN, All rights reserved.
작업시간: 0.052초, 이곳 서비스는
	PostgreSQL v16.1로 자료를 관리합니다