joo_coding 2025. 6. 19. 20:17

< 클라이언트가 필요한 데이터 >

클라이언트가 보내는 데이터: CART_ID 

CART_INFO 에서
TOTAL_PRICE
QUANTITY

CART_DETAIL_INFO 에서
SMALL_OPT_NAME
SMALL_OPT_PRICE

+

MENU_NAME (CART_ID로 CART_INFO에서 MENU_ID를 찾고 MENU_ID로 MENU_INFO에 가서 MENU_NAME을 가져옴)
ST_NAME (MENU_INFO 에서 ST_ID를 찾아서 ST_ID로 ST_INFO 테이블에 가서 ST_NAME 가져옴)

<쿼리>

SELECT
    ci.CART_ID,
    ci.TOTAL_PRICE,
    ci.QUANTITY,
    ci.MENU_ID,
    mi.MENU_NAME,
    mi.ST_ID,
    si.ST_NAME,
    cdi.SMALL_OPT_NAME,
    cdi.SMALL_OPT_PRICE
FROM
    CART_INFO ci
JOIN
    MENU_INFO mi ON ci.MENU_ID = mi.MENU_ID
JOIN
    ST_INFO si ON mi.ST_ID = si.ST_ID
LEFT JOIN
    CART_DETAIL_INFO cdi ON ci.CART_ID = cdi.CART_ID
WHERE
    ci.CART_ID = 7;

 

 

 

< 필요값 > ---------------------------------------------------------------------------------------------------------------------------------------------

CART_ID 장바구니 고유번호 CART_INFO, CART_DETAIL_INFO
MENU_ID 메뉴 고유번호 CART_INFO, MENU_INFO
MENU_NAME 메뉴명 MENU_INFO
ST_ID 가게 고유번호 MENU_INFO, ST_INFO
ST_NAME 가게명 ST_INFO
TOTAL_PRICE 장바구니 총 금액 CART_INFO
QUANTITY 장바구니 담은 메뉴 총수량 CART_INFO
SMALL_OPT_NAME 옵션명 (예: 치즈 추가) CART_DETAIL_INFO
SMALL_OPT_PRICE 옵션 가격 CART_DETAIL_INFO
BIG_OPT_NAME (필요시) 큰 옵션명 CART_DETAIL_INFO
BIG_OPT_ID (필요시) 큰 옵션ID CART_DETAIL_INFO
SMALL_OPT_ID (필요시) 작은 옵션ID CART_DETAIL_INFO