회원별 통계 수치 Query
그누보드 기반의 사이트에서 회원별 통계 수치를 보여줘야할 경우가 생겼는데.. 다른 것은 쉽게 해결을 했지만
장바구니수나 견적신청 건수를 구하는 부분은 subquery를 사용해야만 할 것 같았다. 회원 DB와 분리되어 있는
상태이기 때문에 별도 쿼리를 작성해서 구해도 되지만 각 항목별로 정렬 되는 부분이 바뀌도록 하려니 서브쿼리
밖에 방법이 없을 것 같았다. 서브쿼리를 사용한다고 해서 뭐 대단한 것은 아니고 그냥 간단히 아래처럼 한다.
$sql_common = ” from $g4[member_table] as member “;
$sql_search = ” where (1) “;
if(!$sod) {
$sod = “desc”;
}
if($sst) {
$sql_order = ” order by $sst $sod “;
} else {
$sql_order = ” order by mb_no $sod “;
}
if($stx) {
$sql_search .= ” and $sfl like ‘%$stx%’ “;
}
$sql = ” select mb_id, mb_name, mb_visit, mb_amount, mb_mileage, mb_today_login,
( select count(es_id) from $g4[shop_estimate_table] as estimate where estimate.mb_id = member.mb_id ) as est_count,
( select count(ct_id) from $g4[shop_cart_table] as cart where cart.mb_id = member.mb_id and cart.ct_status = ‘쇼핑’ ) as cart_count
$sql_common
$sql_search
$sql_order “;
$result = sql_query($sql);
요렇게 코그를 작성해서 수치를 다 구할 수 있게 되었고 각 항목 별로 정렬도 문제가 없게 되었다.