테스트 사이트 - 개발 중인 베타 버전입니다

sql 질문입니다. (like) 채택완료

humanb2box 5년 전 조회 2,570

보통 where 절에서 검색어를 like로 쓰듯이

</p>

<p>select * from 테이블 where wr_subject like "%검색어%";</p>

<p>

 

하듯이

LEFT JOIN된 테이블을 like 로 where에 넣을수 있을까요?

 

예를 들면

</p>

<p>LEFT JOIN LIKE %테이블 </p>

<p>

이런식으로요..

 

왜냐하면 

 

문자전송 로그 테이블이 데몬에 의해 자동으로 생성되는데 매월 추가된 테이블을 수동으로 추가하는건

아닌것 같아서 질문드려봅니다..

댓글을 작성하려면 로그인이 필요합니다.

답변 5개

채택된 답변
+20 포인트
플래토
5년 전

달력처리의 개념을 좀 도입해서 처리해야겠네요

 

테이블시작일자변수

테이블종료일자변수

 

두개를 만드시고

 

for ($i = 시작일자변수 ; $i <= 종료일자변수; $i++) {

   $i의 일자를 잘라서

   년,월별 종료일에 해당되면 다음월의 처음일자로 변경시키는 구조로

   테이블 조회쿼리

}

 

라는 형태로 하면되지 않을까 싶네요

로그인 후 평가할 수 있습니다

댓글을 작성하려면 로그인이 필요합니다.

d
5년 전

좋은 방법은 아닙니다만..  php 단에서 union all 을 이용하여 쿼리 만드신 후 처리하시면 되겠습니다.

로그인 후 평가할 수 있습니다

댓글을 작성하려면 로그인이 필요합니다.

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 이 테이블 조회해서 이번 달에 생성된 거 있는지 체크해서 테이블명 갖고 오면 안 되려나요?

로그인 후 평가할 수 있습니다

댓글을 작성하려면 로그인이 필요합니다.

5년 전

테이블 이름을 바꾸는건 동적 쿼리로 하셔야 되는데 단순히 쿼리로는 힘들고 프로시져로 가야 됩니다. 

 

https://m.blog.naver.com/PostView.nhn?blogId=kkson50&logNo=120182979867&proxyReferer=https:%2F%2Fwww.google.com%2F

 

이런식으로 쓸수는 있는데 호출하는 쪽도 call ~~ 방식으로 바꿔야 한다는게 문제죠 ^^

로그인 후 평가할 수 있습니다

답변에 대한 댓글 1개

h
humanb2box
5년 전
테이블 이름을 바꾼다기 보다는
log202003
log202004
log202005

이런식으로 테이블이 자동으로 생성되거든요,,

이놈들을 한번에 검색해야되는데

그걸 매달 수동으로 테이블을 추가하는건 번거로운것 같아서,,

like 라는게 먹히나 해서요

댓글을 작성하려면 로그인이 필요합니다.

댓글을 작성하려면 로그인이 필요합니다.

답변을 작성하려면 로그인이 필요합니다.

로그인