회사 업무중..
상품 목록에서 같은 품목이 여러개 있는데.. 가격이 각각일때.. 최소값 찾는 로직을 생각해 보았다..
NEW_GOODS라는 상품 목록 테이블이 있고.. 분류가 'C'로 시작하는 넘들을
MASTER_ITEM 이란 테이블에서 근사 값으로 가장 차이가 작은 넘들을 찾는 로직을
짜 봄...
한 쿼리로 해볼라고 했으나.. 실력 부족인지..
임시테이블을 사용해서 함..
일단.. NEW_GOODS와 MASTER_ITEM의 값 차이를 절대값으로 나열하는 테이블 생성..
SELECT 구바코드,
Min(absval) AS ABSVAL
INTO #tbl_abs
FROM (SELECT A.구바코드,
A.판매가,
A.도서명,
B.item_cd,
B.item_nm,
B.jung_unit,
Abs(A.판매가 - B.jung_unit) AS ABSVAL
FROM new_goods A,
master_item B
WHERE 1 = 1
AND LEFT(소분류, 1) = 'C'
AND A.구바코드 = B.ean_cd) X
WHERE 1 = 1
GROUP BY 구바코드
그 다음.. 절대값 테이블에서 최소값만 매칭해서 검색하면 끝! 참 쉽죠??
SELECT DISTINCT X.구바코드,
X.판매가,
Min(item_cd) AS ITEM_CD
FROM (SELECT A.구바코드,
A.판매가,
A.도서명,
B.item_cd,
B.item_nm,
B.jung_unit ,
Abs(A.판매가 - B.jung_unit) AS ABSVAL
FROM new_goods A,
master_item B
WHERE 1 = 1
AND LEFT(소분류, 1) = 'C'
AND A.구바코드 = B.ean_cd) X,
#tbl_abs Y
WHERE 1 = 1
AND X.absval = Y.absval
GROUP BY X.구바코드,
X.판매가
ORDER BY 1
피드 구독하기:
댓글 (Atom)
-
모든 일의 시작은.. 최근에 JRE를 업데이트를 했는데.. 32-Bit로 update가 된 듯... Eclipse 실행시 !ENTRY org.eclipse.osgi 4 0 2015-03-31 14:21:48.411 !MESSAGE Ap...
-
1. solr 구축은 알아서. 서비스로 올리는 것도 재주껏(이미 블로그에 써 놨음) 2. 데이터 import 시에 초기 데이터가 매우 중요하다. solr가 웃긴게 중간에 데이터 형이나 설정을 변경하면 이미 import 한 데...
-
업무 처리하다 보니.. 엑셀로 데이터를 넘겨 받음.. 양이 좀 많아서.. 중복 데이터 삭제 기능 검색울 해 보았으나.. 엑셀의 중복 제거 기능만 나옴... 오픈오피스는 아무래도 마이너해서 그런가.. 한글로 검색 말고.. 영어로 구글링...
[낯선] 2025.10.11 인천 노크 공연
Live at @인천노크 on 2025.10.11 Set List 1. 디어클라우드 - 얼음요새 Covered by 낯선 2. 낯선 - Misty Dive 3. 솔루션스 - 청춘 Covered by 낯선 4. 낯선 - Not Your Fault...
댓글 없음:
댓글 쓰기