본문 바로가기

SQLD29

[프로그래머스 SQL고득점 키트 String, Date]조건별로 분류하여 주문상태 출력하기 SELECT ORDER_ID,PRODUCT_ID,DATE_FORMAT(OUT_DATE,'%Y-%m-%d') AS OUT_DATE, (CASE WHEN OUT_DATE IS NULL THEN '출고미정' WHEN DATEDIFF(OUT_DATE,"2022-05-01")>0 THEN '출고대기' ELSE '출고완료' END) AS 출고여부 FROM FOOD_ORDER ORDER BY ORDER_ID ASC; CASE문을 사용해서 컬럼 하나를 추가해주면 되는 문제였다. 2023. 2. 9.
[프로그래머스 SQL고득점 키트 String, Date]자동차 대여 기록에서 장기/단기 대여 구분하기 SELECT HISTORY_ID,CAR_ID, DATE_FORMAT (START_DATE, "%Y-%m-%d") AS START_DATE, DATE_FORMAT (END_DATE, "%Y-%m-%d") AS END_DATE, CASE WHEN DATEDIFF(END_DATE, START_DATE) < 29 then '단기 대여' ELSE '장기 대여' END AS RENT_TYPE FROM CAR_RENTAL_COMPANY_RENTAL_HISTORY WHERE YEAR(start_date)='2022' AND MONTH(start_date)='9' ORDER BY HISTORY_ID DESC 새로운 컬럼은 CASE WHEN 조건 1 THEN ‘조건 1 만족 시 반환하는 값’ WHEN 조건 2 THEN ‘.. 2023. 2. 9.
[프로그래머스 SQL고득점 키트 String, Date]취소되지 않은 진료 예약 조회하기 -- 코드를 입력하세요 SELECT A.APNT_NO,P.PT_NAME,P.PT_NO,D.MCDP_CD,D.DR_NAME,A.APNT_YMD FROM APPOINTMENT A JOIN DOCTOR D ON D.DR_ID=A.MDDR_ID JOIN PATIENT P ON P.PT_NO=A.PT_NO WHERE YEAR(APNT_YMD)=2022 AND MONTH(APNT_YMD)=04 AND DAY(APNT_YMD)=13 AND APNT_CNCL_YN="N" ORDER BY APNT_YMD; date_format(APNT_YMD,'%Y-%m-%d')='2022-04-13' 으로 나타내도 풀 수있는 문제였다. 2023. 2. 9.
[프로그래머스 SQL고득점 키트 JOIN]그룹별 조건에 맞는 식당 목록 출력하기 #리뷰를 보여주는것 #멤버 아이디로 조인 #리뷰 가장 많이 쓴사람 찾기 #리뷰작성일 기준 오름차순, 같으면 리뷰 텍스트 기준 오름차순 SELECT B.MEMBER_NAME, A.REVIEW_TEXT, date_format(REVIEW_DATE, '%Y-%m-%d') AS REVIEW_DATE FROM REST_REVIEW A JOIN ( SELECT R.MEMBER_ID, M.MEMBER_NAME, RANK() OVER(ORDER BY CNT DESC) AS RANKING FROM ( SELECT *, COUNT(MEMBER_ID) AS CNT FROM REST_REVIEW GROUP BY MEMBER_ID) AS R JOIN MEMBER_PROFILE M ON R.MEMBER_ID = M.MEMBER_.. 2023. 2. 8.