PROJECT/같이사자(공동구매)

07_마이페이지 헤더

yong_ღ'ᴗ'ღ 2022. 8. 13. 05:14

회원가입 관련파트 먼저하려고 마이페이지-회원정보수정을 작업하려고 했는데 

마이페이지로 들어가보니 마이페이지 헤더가 눈에 들어와서 ㅋㅋㅋㅋㅋ 헤더 먼저 했다  ㅎㅅㅎ

 

🔥 SUM() 도 NULL 데이터를 NULL로 리턴하므로, NVL 관련 처리가 필요!!

🔥 매너지수 내역에 정보 없는 회원의 경우에는 닉네임이 출력되지 않고, 점수도 NULL로 나옴.......SQL 구문 다시 작성

-- 먼저 작성했던 구문
SELECT NICKNAME, SCORE
     , (SELECT NAME
        FROM MANNERLEVEL_PHOTO
        WHERE T.SCORE BETWEEN MIN_MANNERLEVEL AND MAX_MANNERLEVEL) "PHOTO_NAME"
FROM 
(
    SELECT MI.NICKNAME, 30 + SUM(NVL(ML.SCORE, 0)) "SCORE"
    FROM MEMBER_INFO MI JOIN MANNERLEVEL_LIST ML
        ON MI.MEMBER_CODE = ML.MEMBER_CODE
    WHERE MI.MEMBER_CODE=#{member_code}
    GROUP BY MI.NICKNAME
) T
;

        ↓   다시 작성

SELECT NICKNAME, SCORE
     , (SELECT NAME
        FROM MANNERLEVEL_PHOTO
        WHERE T.SCORE BETWEEN MIN_MANNERLEVEL AND MAX_MANNERLEVEL) "PHOTO_NAME"
FROM 
(
    SELECT MI.NICKNAME, 30 + NVL(SUM(NVL(ML.SCORE, 0)), 0) "SCORE"
    FROM MEMBER_INFO MI LEFT JOIN MANNERLEVEL_LIST ML
        ON MI.MEMBER_CODE = ML.MEMBER_CODE
    WHERE MI.MEMBER_CODE=#{member_code}
    GROUP BY MI.NICKNAME
) T
;

LEFT JOIN 으로 변경

SUM() 에도 NVL() 처리 해줌

 

마이페이지 헤더 부분의 (?)에 마우스를 hover 할 경우, 매너지수 사진과 점수 관련 설명창이 뜬다.

마이페이지 헤더 예시 ①
마이페이지 헤더 예시 ②