문제풀이/SQL
String, Date 조건에 맞는 사용자와 총 거래금액 조회하기
monawa
2023. 3. 14. 00:08
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