문제에서 전체주소와 전화번호를 출력해야 하는데
전체주소는 CITY, STREET_ADDRESS1, STREET_ADDRESS2를
' '(공백)으로 더해줘야하고,
전화번호는 일부를 쪼개 '-'로 더해줘야한다.
전화번호의 경우 SUBSTRING, LEFT, RIGTH 함수로 글자 일부를 쪼갤 수 있다.
문자열을 합쳐주는 함수를 찾아보니 CONCAT와 CONCAT_WS가 있었다.
CONCAT는 CONCAT('컬럼명1', '컬럼명2', '컬럼명3', ...)으로 사용할 수 있고,
CONCAT_WS는 CONCAT_WS('사이에 넣을 문자열', '컬럼명1', '컬럼명2', '컬럼명3',...)
로 사용 가능했다.
제출한 코드 :
SELECT B.USER_ID, B.NICKNAME,
CONCAT_WS(' ',B.CITY, B.STREET_ADDRESS1, B.STREET_ADDRESS2) AS 전체주소
,CONCAT_WS('-',SUBSTRING(TLNO,1,3), SUBSTRING(TLNO,4,4), SUBSTRING(TLNO,8,12)) AS 전화번호
FROM USED_GOODS_BOARD AS A INNER JOIN USED_GOODS_USER AS B
ON A.WRITER_ID = B.USER_ID
GROUP BY A.WRITER_ID
HAVING COUNT(A.WRITER_ID) >= 3
ORDER BY B.USER_ID DESC
'SQL 문제' 카테고리의 다른 글
문제 57. 조건에 부합하는 중고거래(난이도 1) (0) | 2024.07.26 |
---|---|
문제 56. 특정 옵션이 포함된 자동차(난이도 1) (0) | 2024.07.26 |
문제 54. 최댓값 구하기(난이도 3)(MAX(DATETIME)) (0) | 2024.07.26 |
문제 53. 재구매가 일어난 상품과 회원(난이도 5)(GROUP BY 복습) (0) | 2024.07.26 |
문제 52. 과일로 만든 아이스크림 고르기(난이도 3) (0) | 2024.07.26 |