No, 분류코드, 분류명, 상품명, 금액, 수량
1 31001 과일 친환경 건무화과 43552 9
2 31010 과일 친환경 토마토 650267 80
3 31011 과일 친환경 대추방울토마토 161550 26
4 31017 과일 친환경 기타과일 444833 74
5 33001 야채 친환경 감자 65930 12
6 33003 야채 친환경 당근 37968 12
7 33013 야채 친환경 열무 1970 1
8 33017 야채 친환경 로메인 8240 2
No 에서 1 ~ 4번까지 카테고리가 동일하고, 5 ~ 8번까지 동일하게 나타납니다.
원하는 출력방식은 아래와 같이 하려고 합니다.
1 31001 과일 친환경 건무화과 43552 9
2 31010 친환경 토마토 650267 80
3 31011 친환경 대추방울토마토 161550 26
4 31017 친환경 기타과일 444833 74
5 33001 야채 친환경 감자 65930 12
6 33003 친환경 당근 37968 12
7 33013 친환경 열무 1970 1
8 33017 친환경 로메인 8240 2
쿼리문은 아래와 같습니다.
SELECT
ROW_NUMBER() OVER(ORDER BY LEFT(tpsd.orderDate, 6) DESC) AS RowNum,
tppsm.barcode,
(
CASE tppsm.categoryL
WHEN '31' THEN '과일'
WHEN '33' THEN '야채'
WHEN '35' THEN '수산물'
WHEN '91' THEN '한우'
WHEN '92' THEN '한우-특수'
WHEN '93' THEN '돼지'
WHEN '94' THEN '육계'
WHEN '95' THEN '양념육'
END
) AS categoryL,
tpp.product_subject_pos,
--tpsd.product_subject_full,
SUM(tpsd.om_real_amount) AS om_real_amount,
SUM(tpsd.om_qty) AS om_qty
FROM t_pos_product_self_meat tppsm
JOIN t_pos_product tpp ON tpp.barcode = tppsm.barcode
JOIN t_pos_sales_detail tpsd ON tpsd.barcode = tppsm.barcode
WHERE tppsm.categoryL LIKE '%'
AND orderDate BETWEEN '20170301' AND CONVERT(VARCHAR(8),GETDATE(),112)
GROUP BY
LEFT(orderDate, 6),
tppsm.barcode,
(
CASE tppsm.categoryL
WHEN '31' THEN '과일'
WHEN '33' THEN '야채'
WHEN '35' THEN '수산물'
WHEN '91' THEN '한우'
WHEN '92' THEN '한우-특수'
WHEN '93' THEN '돼지'
WHEN '94' THEN '육계'
WHEN '95' THEN '양념육'
END
),
tpp.product_subject_pos
Comment 1
-
건우아빠
2017.03.25 12:19
row_number() over(partition by categoryL order by 분류코드, 상품명) 가 1 일때만 나오게 하심.