select 주문상품, 주문자, 주문지, 바코드, min(주문일자), sum(수량), 판매코드 from 과일가게 where to_char(주문일자, 'yyyymmdd') >= (select sysdate_A from 캘린더)--판매시작일 2017.03.20 and 주문번호 like '02-7185%' and 주문상품 ='사과' group by 주문상품, 주문자, 주문지, 바코드, 판매코드
주문상품 | 주문자 | 주문지 | 바코드 | 주문일자 | 수량 | 판매코드 |
사과 | 홍길동 | 서울 | A123456A | 2017-04-03 | 150 | A123456A_사과 |
사과 | 홍길동 | 서울 | A123456B | 2017-04-05 | 150 | A123456B_사과 |
SQL 실행하여 나온 데이터입니다.
제가원하는건 주문일자 20170403만 나오게하고싶은데 우째해야할지 막막합니다
rank over를 사용해서 뽑으려고햇지만,
포도, 파인애플들도 저런 비슷한유형이잇어..어찌해야할지모르겟네요
도움 요청드립니다.
and 주문일자 between to_date('20170403', 'YYYYMMDD') and to_date('20170403 235959', 'YYYYMMDD HH24MISS')
위와 같이 한줄만 추가해주시면 될 것 같습니다.
그리고 입고일 기준날짜를 테이블에 넣어서 코드로 관리해야 한다면, 아래와 같은 방식이 더 낫습니다.
캘린더 테이블에 데이터가 1건만 들어있다는 보장이 없으므로 데이터가 1건 나오도록 쿼리를 수정해줘야 합니다.
where 주문일자 >= (select to_date(sysdate_a, 'YYYYMMDD') from 캘린더 where rownum=1)
또는
where 주문일자 >= (select min(to_date(sysdate_a, 'YYYYMMDD')) from 캘린더)