회사 업무중..
상품 목록에서 같은 품목이 여러개 있는데.. 가격이 각각일때.. 최소값 찾는 로직을 생각해 보았다..
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...
[낯선] 2026.06.20 이태원 MZK MuzikBar 공연
간만의 공연 이태원 비틀즈가 이전하여 MZK MuzikBar 로 새 단장 오픈을 한 뒤로 2번째 공연 새 베이시스트가 합류한 뒤로 첫 공연이기도 함.. 이래저래 틀린 부분도 많지만.. 그래도 간만에 그럭저럭 잘했다.. https://www.youtub...
댓글 없음:
댓글 쓰기