본문 바로가기
코딩테스트/프로그래머스

Oracle - 프로그래머스 코딩테스트 [조건에 맞는 사용자 정보 조회하기]

by sycareer 2023. 11. 22.

문제

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

 

 

1. too many values 에러 : 서브쿼리절에 WRITER_ID, COUNT(BOARD_ID) 두 가지를 SELECT 해서 생긴 문제. COUNT(BOARD_ID) 지워서 해결됨.

 

2. 다 맞았는데 왜 정답처리 안될까 의문을 가질 때쯤 번뜩 생각난 상세주소 띄어쓰기... CITY 뒤에만 공백 넣어줬는데 상세주소 뒤에도 하나 더 있었음.

 

1
2
3
4
5
6
7
8
9
10
11
12
SELECT USER_ID
     , NICKNAME
     , CITY || ' ' || STREET_ADDRESS1 || ' ' || STREET_ADDRESS2 AS "전체주소"
     , SUBSTR(TLNO, 13|| '-' || SUBSTR(TLNO, 44|| '-' || SUBSTR(TLNO, -4) AS "전화번호"
  FROM USED_GOODS_USER
 WHERE USER_ID IN (
    SELECT WRITER_ID
      FROM USED_GOODS_BOARD 
     GROUP BY WRITER_ID
    HAVING COUNT(BOARD_ID) >= 3
 )
 ORDER BY USER_ID DESC;
cs