게시판 리스트에서 사용자정의 에 추가된 날짜 형식의 기간만 출력
- 웹개발자1
- 0
- 2,248
- 글주소
- 04-18
아래와 같이 사용자정의에 필드를 추가 하였습니다.
게시판 출력 조건으로 줘야 하는데..
도저히 쿼리가 안나와서 질문 드립니다.
조건 1
term_use 가 체크되어 있을경우 term_s, term_e 와 상관없이 무조건 노출이 되어야 합니다.
조건 2
term_s <= 오늘 and term_e >= 오늘
조건 1
select * from cb_post_extra_vars where IF(pev_key = 'term_use' AND CHAR_LENGTH(pev_value) > 0,'Y','N') ='Y'
조건 2
select a.* from ( select * from cb_post_extra_vars where IF(pev_key = 'term_s' AND pev_value <= CURDATE() ,'Y','N') = 'Y' ) a
join (select * from cb_post_extra_vars where IF(pev_key = 'term_e' AND pev_value >= CURDATE() ,'Y','N') = 'Y') b
on a.post_id=b.post_id
합친것.
SELECT
*
FROM
cb_post
WHERE
post_id IN (
SELECT post_id FROM
(
SELECT post_id FROM cb_post_extra_vars WHERE IF(pev_key = 'term_use' AND CHAR_LENGTH(pev_value) > 0, 'Y', 'N') = 'Y'
UNION
SELECT a.* FROM (SELECT post_id FROM cb_post_extra_vars WHERE IF(pev_key = 'term_s' AND pev_value <= CURDATE(), 'Y', 'N') = 'Y') a
JOIN (SELECT post_id FROM cb_post_extra_vars WHERE IF(pev_key = 'term_e' AND pev_value >= CURDATE(), 'Y', 'N') = 'Y') b
ON a.post_id = b.post_id
) x
)
결과는 나옵니다만...............
보다시피 괴랄한 쿼리가 발생하여 도움을 요청 합니다.