[문제]
두 테이블(USED_GOODS_BOARD , USED_GOODS_USER)에서 필요한 부분 발췌
[출력 조건]
- 중고 거래 게시물 3건 이상 등록한 사용자
- 분리되어 있는 주소(시, 도로명,상세 주소)를 '전체 주소' 타이틀로 합쳐서 출력
- 전화번호의 경우 '000-0000-0000'으로 출력
- 회원 ID를 기준으로 내림차순 정렬
[구성]
SELECT
U.USER_ID,
U.NICKNAME,
CONCAT_WS(" ",U.CITY, U.STREET_ADDRESS1, U.STREET_ADDRESS2) AS '전체주소',
CONCAT_WS("-", SUBSTRING(U.TLNO, 1, 3), SUBSTR(U.TLNO, 4, 4), RIGHT(U.TLNO, 4)) AS "전화번호"
FROM USED_GOODS_BOARD B JOIN USED_GOODS_USER U
ON B.WRITER_ID = U.USER_ID
GROUP BY B.WRITER_ID
HAVING COUNT (B.WRITER_ID)>=3
ORDER BY B.WRITER_ID DESC
- 01012345678로 입력되어 있던 전화번호에 (-)를 어떻게 추가해야될까 고민하다 concat_ws를 찾게 되었다.
유용하니까 기억하자. - SUBSTRING,SUBSRT의 차이점
예) "abcdefg" 라는 문자열이 있으면
substring(2, 4) 를 하면 "cd"의 결과가 나오고
substr(2, 4) 를 하면 "cdef"가 나온다.
- 중복이라는 단어가 나올때마다 count 앞에 having을 빠져먹고 써서 에러가 난다 ㅠ 까먹지 말자