ID가 서로 다른 테이블이 있습니다. 날짜 필드와 '없음', '낮음', '보통', '높음'과 같은 값이있는 필드 제목 RISK가 있습니다. 그것은 다음과 같습니다case 문을 사용하여 다른 행의 값을 할당하려면 어떻게해야합니까?
ID Date Risk
1743333 12/1/2017 Low
1743333 12/2/2017 Low
1743333 12/3/2017 None
1743333 12/4/2017 None
1743333 12/5/2017 Medium
1743333 12/6/2017 High
1265464 12/1/2017 High
1265464 12/2/2017 None
1265464 12/3/2017 None
1265464 12/4/2017 None
1265464 12/5/2017 High
1265464 12/6/2017 High
위험 필드는 내가 가지고있는 나에 대한 기준이 정확히 모르는 다른 데이터 포인트와 코드의 계산에 의해 만들어집니다. '없음'값은 계산 기준에 따라 낮음, 중간 또는 높음을 할당하는 데 필요한 정보가 충분하지 않을 때 기본적으로 할당됩니다. 내가하려는 일은, RISK = 'None'의 값이있는 곳에서, 그 이전의 행의 RISK 값을 그 특정 ID 내의 이전 날짜 (1 일 이전)에 기초하여 할당하고 싶습니다. 따라서 특정 날짜에 RISK가 'None'이외의 항목으로 표시되고 일일 진행으로 'None'이되면 이전의 최신 'None'값을 유지하려고합니다.
ID Date Risk
1743333 12/1/2017 Low
1743333 12/2/2017 Low
1743333 12/3/2017 Low
1743333 12/4/2017 Low
1743333 12/5/2017 Medium
1743333 12/6/2017 High
1265464 12/1/2017 High
1265464 12/2/2017 High
1265464 12/3/2017 High
1265464 12/4/2017 High
1265464 12/5/2017 Medium
1265464 12/6/2017 High
내가 익숙하지 않다,하지만 난 변수 할당과 행을 반복에 대해 생각했다 : 새로운 표는이처럼 보이는 끝낼 것입니다. 나는 MySQL을 사용하고 있으며 이것을 case 문에 구현하려고하므로 기존 테이블의 새로운 필드에 결과를 할당 할 수있다. MySQL에서 동일한 테이블을 참조하거나 다시 참여하는 것과 관련하여 문제가 발생했습니다. 긴 게시물에 미리 감사 드리며 유감스럽게 생각합니다.
몇 가지 코드를 보여주십시오. 우리는 당신이 나쁜 코드를 수정하도록 돕기 위해 여기에 있습니다. – Forbs
'case expressions'은 행 전체가 아니라 현재 행에서만 작동합니다 (nb는 "case 문"이 아닙니다). –