문제풀이/SQL

String, Date 조건에 맞는 사용자와 총 거래금액 조회하기

monawa 2023. 3. 14.
728x90

https://school.programmers.co.kr/learn/courses/30/lessons/164670

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

나의 풀이 

SELECT USER_ID,NICKNAME,
CONCAT(CITY," ",STREET_ADDRESS1," ",STREET_ADDRESS2) "전체주소",
CONCAT(LEFT(u.TLNO, 3), '-', MID(u.TLNO, 4, 4), '-', RIGHT(u.TLNO, 4)) "전화번호"

FROM USED_GOODS_BOARD B, USED_GOODS_USER U
WHERE B.WRITER_ID = U.USER_ID

GROUP BY WRITER_ID
HAVING COUNT(BOARD_ID)>=3

ORDER BY USER_ID DESC

이문제는 CONCAT을 활용하는게 주요 풀이법이였다!

CONCAT은 문자열을 합치는 함수로서 

SELECT CONCAT(문자열1,문자열2, 문자열~~~)

방식이다

 

전체 주소는 시, 도로명 주소, 상세 주소가 함께 출력되도록 해주시고, 전화번호의 경우 xxx-xxxx-xxxx 같은 형태로 하이픈 문자열(-)을 삽입하여 출력해주세요.

이 부분이였는데

전체 주소는 시, 도로명 주소, 상세 주소가 함께 출력되도록은 

CONCAT(CITY," ",STREET_ADDRESS1," ",STREET_ADDRESS2) "전체주소",

CONCAT 으로 도시명 도로명 상세주소를 합쳐주고

 

전화번호의 경우 xxx-xxxx-xxxx 같은 형태로 하이픈 문자열(-)을 삽입하여 출력해주세요.

CONCAT(LEFT(u.TLNO, 3), '-', MID(u.TLNO, 4, 4), '-', RIGHT(u.TLNO, 4)) "전화번호"

LEFT로 왼쪽 3자리 MID로 중간 4자리 RIFHT로 오른쪽 4자리를 나눈후 -을 넣고 다시 합쳐주었다 

 

나머지는 기초적으로 전에 하던대로 하면됬다 

 

728x90

댓글