sql 질문입니다. (like)
본문
보통 where 절에서 검색어를 like로 쓰듯이
select * from 테이블 where wr_subject like "%검색어%";
하듯이
LEFT JOIN된 테이블을 like 로 where에 넣을수 있을까요?
예를 들면
LEFT JOIN LIKE %테이블
이런식으로요..
왜냐하면
문자전송 로그 테이블이 데몬에 의해 자동으로 생성되는데 매월 추가된 테이블을 수동으로 추가하는건
아닌것 같아서 질문드려봅니다..
!-->!-->답변 5
달력처리의 개념을 좀 도입해서 처리해야겠네요
테이블시작일자변수
테이블종료일자변수
두개를 만드시고
for ($i = 시작일자변수 ; $i <= 종료일자변수; $i++) {
$i의 일자를 잘라서
년,월별 종료일에 해당되면 다음월의 처음일자로 변경시키는 구조로
테이블 조회쿼리
}
라는 형태로 하면되지 않을까 싶네요
테이블 이름을 바꾸는건 동적 쿼리로 하셔야 되는데 단순히 쿼리로는 힘들고 프로시져로 가야 됩니다.
이런식으로 쓸수는 있는데 호출하는 쪽도 call ~~ 방식으로 바꿔야 한다는게 문제죠 ^^
SELECT `TABLE_NAME` FROM `TABLES` WHERE `TABLE_TYPE` = 'BASE TABLE' AND `ROW_FORMAT` = 'Dynamic' AND DATE_FORMAT(`CREATE_TIME`, '%Y-%m') = DATE_FORMAT(NOW(), '%Y-%m')
information_schema.TABLES 이 테이블 조회해서 이번 달에 생성된 거 있는지 체크해서 테이블명 갖고 오면 안 되려나요?
좋은 방법은 아닙니다만.. php 단에서 union all 을 이용하여 쿼리 만드신 후 처리하시면 되겠습니다.