안녕하세요.
매번 이곳에서 도움만 받고 있는 사람입니다.
오늘도 도움을 구하고자 이렇게 글을 씁니다.
SELECT b.wr_idx
, b.order_idx // 주문번호
, b.wr_proc_name // 장바구니 상품명
, b.wr_proc_count // 장바구니 수량
, b.wr_proc_price // 상품 단가
, (b.wr_proc_count * b.wr_proc_price) AS tot_price // 수량*단가
FROM order_list a
INNER JOIN basket_list b
ON a.idx = b.order_idx
WHERE DATE_FORMAT(a.order_date, '%Y-%m') = '2023-01'
AND a.id = a.master_id
AND a.master_id = 'cmh'
AND a.price_sum > 0
위 쿼리에서 order_list테이블과 basket_list 테이블을 조인하여
상품명의 코드가 같은값을 합해서 가격을 구하고자 합니다.
이미지에서 wr_idx 는 제품 고유값입니다. 고유값이 같은 제품을 합하고 싶은데 제가 원하는 결과가 나오지 않아
이렇게 문의드립니다. 조언좀 구하겠습니다.
감사합니다.
1. 원하는 기준으로 GROUP BY 하시면 됩니다.
2. 컬럼을 가공하여 조건비교하지 마시고 -> 컬럼은 그대로 두고 조건을 가공하여 비교하세요. (order_date 조건)
SELECT b.wr_idx , b.wr_proc_name , SUM(b.wr_proc_count) AS proc_count , b.wr_proc_price , SUM(b.wr_proc_count) * b.wr_proc_price AS tot_price FROM order_list a INNER JOIN basket_list b ON a.idx = b.order_idx WHERE a.order_date >= DATE_ADD('2023-01-01', INTERVAL 0 MONTH) AND a.order_date < DATE_ADD('2023-01-01', INTERVAL 1 MONTH) AND a.id = a.master_id AND a.master_id = 'cmh' AND a.price_sum > 0 GROUP BY b.wr_idx, b.wr_proc_name, b.wr_proc_price ;