날짜) 코드 값을 받아 쿼리에서 처리 할때 0 7 200

by 개발고수가되기를 [2022.01.07 17:30:51]


일반적으로 코드값이 '5'라면 

조건 = (select 조건 where 코드테이블)

 

제가 처리 해야 하는 것은 

코드 값에 5가 있으면 

AND aa >= TO_CHAR(SYSDATE-5, 'YYYYMMDD')

 

-5일 즉, 5일전을 표시해 줘야 하는데 이걸 어떻게 표현해서 처리하면 좋을까요?

테이블에 저장되어 있는 코드 값이 5이고

이것을 테이블에 담겨 있는 값으로 5일전으로 표시해야 하는데

일반적인 서브쿼리는 많이 해봣는데 이런 날짜에 테이블 값 넣는거는 참 애매하네요ㅠ

 

by 마농 [2022.01.10 09:41:08]
SELECT *
  FROM data_t a
     , code_t b
 WHERE a.aa >= TO_CHAR(sysdate - b.cd, 'yyyymmdd')
   AND -- 조인조건 --
   AND -- 검색조건 --
;

 


by 개발고수가되기를 [2022.01.10 10:04:28]

답변 감사합니다.

 

조인할 값이 전혀 없는 공통 테이블인데 이럴때는 5일전이랑 값을 넣기 위해 서브쿼리 형식으로는 어떻게 해야 할까요?

그냥 아우터 조인 걸어주면 다 널값으로 나와서요

마농님이 주신 쿼리로 하면 기존 테이블에 조인을 걸어서 해당 값을 보여줘야 하는데 조인 걸 값이 없어서요~


by 마농 [2022.01.10 10:18:46]

코드테이블이 여러건일텐데요?
그 중 5 라는 하나의 값을 가져오기 위한 조건은 있겠죠?


by 개발고수가되기를 [2022.01.10 10:30:24]

네네 해당코드의 값이 있습니다!

 

근데 쿼리가 제 기준 복잡하기도 하지만 

일만 코드 값이 아닌 -5날짜에다가 해당 5라는 값을 넣을라니 머리가 안돌아 가네요 ㅠ


by 마농 [2022.01.10 10:39:27]

질문의 내용만으로는 테이블 구조나 사용쿼리를 정확하게 알 수가 없어
정보 부족으로 직접 쿼리를 작성해 드릴 수가 없네요.
제가 드린 쿼리에 조건 및 컬럼명만 맞춰 넣으시면 됩니다.
잘 안되시면 사용하시는 각각의 쿼리를 보여주세요.
1. 코드 조회용 쿼리
2. 데이터 검색용 쿼리


by 마농 [2022.01.10 11:15:52]

"이런 식으로 간단하게 처리 햇으면 하는데" 라고 하셨는데요???
1. 그런 식으로 하시면 됩니다. (서브쿼리 이용 방식)
2. 다른 식으로도 가능하구요. (조인 이용, 제 댓글의 쿼리 방식)
코드 조회용 쿼리는 안적어 주셨네요.

1. 서브쿼리 방식
SELECT ...
  FROM ...
 WHERE ...
   AND m410.dy_acqu >= TO_CHAR(sysdate - (SELECT cd FROM code_t WHERE 조건), 'yyyymmdd')
;
1. 서브쿼리 방식
SELECT ...
  FROM ...
 WHERE ...
   AND m410.dy_acqu >= (SELECT TO_CHAR(sysdate - cd, 'yyyymmdd') FROM code_t WHERE 조건)
;
2. 조인 방식
SELECT ...
  FROM ...
     , code_t c
 WHERE ...
   AND c.조건
   AND m410.dy_acqu >= TO_CHAR(sysdate - c.cd, 'yyyymmdd')
;

 


by 개발고수가되기를 [2022.01.10 12:12:26]

아 그냥 - (SELECT SALE_CNT FROM TT WHERE MBS_CD = '05' AND FG_USE = '1') 요렇게 처리 하니 바로 처리 되네요 정말 감사합니다

 

분명 지난주에는 오류가 났었는데 문법 오류가 있었던거 같네요

새해복 많이 받으세요!

댓글등록
SQL문을 포맷에 맞게(깔끔하게) 등록하려면 code() 버튼을 클릭하여 작성 하시면 됩니다.
로그인 사용자만 댓글을 작성 할 수 있습니다. 로그인, 회원가입