2017-11-23 1 views
0

희망 누군가가 나에게이 일을 도울 수있는 조건문 MYSQL에 따라 다른 열에서 가치를 창출 :어제의 가격

내가 MYSQL에서 만들려는이 테이블을 가지고있다. DATE와 Closing Columns 만 있습니다. 세 번째 열을 만들 필요가 있지만 단 categorial 경우 값을 닫는 행이 위에있는 행보다 작은 경우 YES입니다. 따라서 미래의 가격이 유용하지 않기 때문에 맨 위 열의 두 열이 비어있는 이유는 무엇입니까? 행 위 행의 변화가 1 %보다 큰 제 4 열 가능한

또한 다음 상관 도움을 알 수있다, 그렇지 않으면 0

DATE  Closing Change GOODorBAD 

11/21/2017 155.5 -  - 
11/20/2017 153.83 yes  1 
11/17/2017 153.95 no  0 
11/16/2017 154.54 no  0 
11/15/2017 152.59 yes  1 
11/14/2017 153.31 no  0 
11/13/2017 153.87 no  0 
11/10/2017 153.68 yes  0 
11/9/2017 153.69 no  0 
11/8/2017 154.5 no  0 

1을 준다. 고마워요

답변

0

안에 CASE 조건을 사용할 수 있습니다.

UPDATE TEST_TABLE T 
    SET T.CHANGE = (SELECT CASE WHEN T.CLOSING < T2.CLOSING 
           THEN 'YES' 
           WHEN T.CLOSING > T2.CLOSING 
           THEN 'NO' 
           ELSE 
           NULL 
         END 
        FROM TEST_TABLE T2 
         WHERE T2.DATE > T.DATE 
        ORDER BY T2.DATE LIMIT 1), 

     T.GOODORBAD = (SELECT CASE WHEN (T2.CLOSING - T.CLOSING) > (T.CLOSING/100) 
            THEN '1' 
           WHEN (T2.CLOSING - T.CLOSING) <= (T.CLOSING/100) 
            THEN '0' 
           ELSE 
            NULL 
          END 
         FROM TEST_TABLE T2 
         WHERE T2.DATE > T.DATE 
         ORDER BY T2.DATE LIMIT 1); 
관련 문제