쿼리를 보니 현재는
$sql = " select cp_id, cp_type, cp_price, cp_trunc, cp_minimum, cp_maximum
from {$g5['g5_shop_coupon_table']}
where cp_id = '{$_POST['sc_cp_id']}'
and mb_id IN ( '{$member['mb_id']}', '전체회원' )
and cp_start <= '".G5_TIME_YMD."'
and cp_end >= '".G5_TIME_YMD."';
이렇게 사용한 쿠폰 구분을 따로 하지 않고 쿼리문 돌린후에
is_used_coupon($member['mb_id'], $cp['cp_id']);
함수로 for 문 안에서 사용한 쿠폰인지 구분하는걸로 확인됩니다.
저는 위에 커리에서 애초에 사용이 된 쿠폰을 제외한 하나의 쿼리를 만들고 싶습니다.
함수안에서 $sql = " select count(*) as cnt from {$g5['g5_shop_coupon_log_table']} where mb_id = '$mb_id' and cp_id = '$cp_id' "; 해당 쿼리로 사용한 쿠폰인지 확인하던데 저 두 쿼리를 하나로 만드는 방법은 없을까요?
답변 4개 / 댓글 1개
$sql = " select A.cp_id, A.cp_type, A.cp_price, A.cp_trunc, A.cp_minimum, A.cp_maximum
from {$g5['g5_shop_coupon_table']} A
inner join {$g5['g5_shop_coupon_log_table']} B
on A.mb_id=B.mb_id and A.cp_id=B.cp_id
where B.mb_id is null
and A.cp_id = '{$_POST['sc_cp_id']}'
and A.mb_id IN ( '{$member['mb_id']}', '전체회원' )
and A.cp_start <= '".G5_TIME_YMD."'
and A.cp_end >= '".G5_TIME_YMD."';
답변을 작성하려면 로그인이 필요합니다.
우선 쿠폰을 안쓰게 되면 {$g5['g5_shop_coupon_log_table']} 해당 테이블에 아무런 데이터가 없어서
조인이 성립할수 없는거 같아요.