프로그래머스 132

[프로그래머스] 그룹별 조건에 맞는 식당 목록 출력하기

--REST_REVIEW 테이블에서 MEMBER_ID 를 기준으로 그룹핑 한 다음 -- 개수를 기준으로 정렬한 다음 LIMIT으로 1개만 조회하도록 하기 SELECT T1.MEMBER_NAME, T2.REVIEW_TEXT, DATE_FORMAT(T2.REVIEW_DATE, '%Y-%m-%d') AS REVIEW_DATE FROM MEMBER_PROFILE T1 JOIN REST_REVIEW T2 ON T1.MEMBER_ID = T2.MEMBER_ID WHERE T1.MEMBER_ID = (SELECT MEMBER_ID FROM REST_REVIEW GROUP BY MEMBER_ID ORDER BY COUNT(MEMBER_ID) DESC LIMIT 1 ) ORDER BY 3, 2

SQL 2023.07.16

[프로그래머스] 조건별로 분류하여 주문상태 출력하기

-- SELECT 절에 삼항연산을 사용해 출력문 제어 -- 그리고 DATE 타입의 경우 날짜 비교시 -- 굳이 문자로 나타낸 날짜에 DATE_FORMAT를 해주지 않아도 비교가 가능 SELECT ORDER_ID, PRODUCT_ID, DATE_FORMAT(OUT_DATE, '%Y-%m-%d') AS OUT_DATE, IF (OUT_DATE IS NULL,'출고미정', IF (OUT_DATE > '2022-05-01', '출고대기', '출고완료')) AS 출고여부 FROM FOOD_ORDER ORDER BY 1 -- CASE 사용으로 출력문 제어 SELECT ORDER_ID, PRODUCT_ID, DATE_FORMAT(OUT_DATE, '%Y-%m-%d') AS OUT_DATE, CASE WHEN OUT_..

SQL 2023.07.15

[프로그래머스] 취소되지 않은 진료 예약 조회하기

-- 의사와 진료 테이블의 컬럼을 보고 엮어줄게 없어서 헤매다가 -- 다른 이름의 컬럼으로 같은 값을 확인해 해결 SELECT T3.APNT_NO, T1.PT_NAME, T1.PT_NO, T3.MCDP_CD, T2.DR_NAME, T3.APNT_YMD FROM PATIENT T1, DOCTOR T2, APPOINTMENT T3 WHERE T1.PT_NO = T3.PT_NO AND T2.DR_ID = T3.MDDR_ID AND T3.APNT_CNCL_YN = 'N' AND T3.MCDP_CD = 'CS' AND T3.APNT_YMD LIKE '2022-04-13%' ORDER BY T3.APNT_YMD

SQL 2023.07.15