이거 해결좀..- _-;;; > 그누4 질문답변

그누4 질문답변

그누보드4 관련 질문은 QA 로 이전됩니다. QA 그누보드4 바로가기
기존 게시물은 열람만 가능합니다.

이거 해결좀..- _-;;; 정보

이거 해결좀..- _-;;;

본문

안녕하세요. 지은아빠입니다. 도무지 답이 안나와서 도움 구합니다. - - -;;
 
start_month의 값들 1~ 12
end_month의 값들 1~12
 
select * from xxx where start_month <= $month and end_month >= $month;
 
저 셀렉트 구문은 이를테면 start_month가 11월이고 end_month가 다음 해 1월이라면 값을 구하고자 할 때는 값이 안나오는데요.
 
어떻게 하면 될까요?
  • 복사

댓글 전체

음..  end_month를 체크할려면 입력된 월보다 작은 값을 찾도록 해야할듯
end_month <= $month

select * from xxx where start_month >= $month and end_month <= $month;

아 그리고
위의 구조는 년도를 체크하는것이 없으므로 올해의 1월도 조회될겁니다 ^^
root님 답변 감사합니다. 미처 질문에 포함하지 못했는데요..

음.. 예를 들어서 현재 7월이면 3월~8월에 해당 하는 값도 같이 구하려고 하거든요.
한해에 끝나는것인지 한해를 넘기는 것인지에 대한 체크나...
작업 시작년도와 작업 종료년도의 추가가 있어야 원하시는 답변이 시원하게 나올것으로 생각됩니다 ^^
select * from xxx where start_month <= $month and end_month >= $month;

해가 바뀌는데 월 정보만 준다는 것이 모순아닌가요?

start_month, end_month를 date 타입으로 바꾸면 어떨까요?
select * from xxx where start_month <= $month and end_month >= $month;

==>

select * from xxx where  if( end_month > start_month, $month, $month+12) $month between start_month and  if( end_month > start_month, end_month, end_month+12)

query 성능은 떨어 집니다.
rolo 님 말씀처럼..
php는 7월에서 1월까지하면..;;
만약 된다하더라두.. 2006년 7월에서 언제 1월까지인지를 모릅니다. -0-
무한루프의 함정이죠..;;

sql에 1년치 데이터만 존재한다면 rolo님 말씀처럼 하심 되구요.
그렇지 않다면.. year필드를 추가하심이 좋을듯하네요.
적절한 답변이 못되어 죄송합니다만.. 혹시나 우려되서 한마디 남깁니다. (__)
© SIRSOFT
현재 페이지 제일 처음으로