채택완료
따로 분리된 쿼리문을 합치고 각각 값을 뽑을수 잇는지요?
//이벤트선정자중 동일한사람이 잇는가?
$ev1_id = sql_fetch(" SELECT count(*) AS cnt FROM g4_event WHERE event_id ='$write[wr_id]' and mb_id = '{$list[$i][mb_id]}' ");
//1번이벤트보상의 남은수구하기
$ev1 = sql_fetch(" SELECT count(*) AS cnt FROM g4_event WHERE event_id ='$write[wr_id]' and part = '$write[wr_6]' and mb_id = '' ");
//2번이벤트보상의 남은수구하기
$ev2 = sql_fetch(" SELECT count(*) AS cnt FROM g4_event WHERE event_id ='$write[wr_id]' and part = '$write[wr_8]' and mb_id = '' ");
//3번이벤트보상의 남은수구하기
$ev3 = sql_fetch(" SELECT count(*) AS cnt FROM g4_event WHERE event_id ='$write[wr_id]' and part = '$write[wr_10]' and mb_id = '' ");
위 4개의 쿼리문을 각각 실행되지않고 한번에 실행으로
각 4개의 값을 구할수가 잇는지요?
가르침 부탁드립니다 ^^;;;;;;;;
|
답변 6개 / 댓글 5개
채택된 답변
+20 포인트
이부분에 대한 서브 쿼리는
쉬워요
select (select count(*) from atable) as t1, (select count(*) from btabl) as 2 from atable limit 1
뭐 이런식으로 하면 되요
충분히 응용가능하실거라 믿습니다.
쉬워요
select (select count(*) from atable) as t1, (select count(*) from btabl) as 2 from atable limit 1
뭐 이런식으로 하면 되요
충분히 응용가능하실거라 믿습니다.
답변에 대한 댓글 2개
if ($bo_table == "m2" && $write[mb_id] == $member[mb_id] && $write[wr_3] == "개별상품") {
//첫번째 보상남은수 뽑음
$ev1 = sql_fetch(" SELECT count(*) AS cnt FROM g4_event WHERE event_id ='$write[wr_id]' and part = '$write[wr_6]' and mb_id = '' ");
//두번째 보상남은수 뽑음
$ev2 = sql_fetch(" SELECT count(*) AS cnt FROM g4_event WHERE event_id ='$write[wr_id]' and part = '$write[wr_8]' and mb_id = '' ");
if ($write[wr_10]) { //세번째보상이 있다면
//세번째 보상남은수 뽑음
$ev3 = sql_fetch(" SELECT count(*) AS cnt FROM g4_event WHERE event_id ='$write[wr_id]' and part = '$write[wr_10]' and mb_id = '' ");
} //세번째보상이 있다면끝
=============================================위부분을 잘살아보자님의 답변으로 아래처럼 응용해보앗습니다.
맞는지요? ^^;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
if ($write[wr_10]) { //세번째보상이 있다면
$ev3_sql = " (select count(*) from g4_event WHERE part = '$write[wr_10]') as ev3, ";
} //세번째보상이 있다면끝
$evsql = " select
$ev3_sql
(select count(*) from g4_event WHERE part = '$write[wr_6]') as ev1,
(select count(*) from g4_event WHERE part = '$write[wr_8]') as ev2
from g4_event WHERE event_id ='$write[wr_id]'
and mb_id = ''
limit 1 ";
$evcnt = sql_fetch($evsql);
print_r($evf);
echo $evcnt[ev1]."//".$evcnt[ev2]."//".$evcnt[ev3];
} //---------------------------------------이벤트게시판이고 글쓴이라면실행끝
//첫번째 보상남은수 뽑음
$ev1 = sql_fetch(" SELECT count(*) AS cnt FROM g4_event WHERE event_id ='$write[wr_id]' and part = '$write[wr_6]' and mb_id = '' ");
//두번째 보상남은수 뽑음
$ev2 = sql_fetch(" SELECT count(*) AS cnt FROM g4_event WHERE event_id ='$write[wr_id]' and part = '$write[wr_8]' and mb_id = '' ");
if ($write[wr_10]) { //세번째보상이 있다면
//세번째 보상남은수 뽑음
$ev3 = sql_fetch(" SELECT count(*) AS cnt FROM g4_event WHERE event_id ='$write[wr_id]' and part = '$write[wr_10]' and mb_id = '' ");
} //세번째보상이 있다면끝
=============================================위부분을 잘살아보자님의 답변으로 아래처럼 응용해보앗습니다.
맞는지요? ^^;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
if ($write[wr_10]) { //세번째보상이 있다면
$ev3_sql = " (select count(*) from g4_event WHERE part = '$write[wr_10]') as ev3, ";
} //세번째보상이 있다면끝
$evsql = " select
$ev3_sql
(select count(*) from g4_event WHERE part = '$write[wr_6]') as ev1,
(select count(*) from g4_event WHERE part = '$write[wr_8]') as ev2
from g4_event WHERE event_id ='$write[wr_id]'
and mb_id = ''
limit 1 ";
$evcnt = sql_fetch($evsql);
print_r($evf);
echo $evcnt[ev1]."//".$evcnt[ev2]."//".$evcnt[ev3];
} //---------------------------------------이벤트게시판이고 글쓴이라면실행끝
select (SELECT count(*) AS cnt FROM g4_event WHERE event_id ='$write[wr_id]' and part = '$write[wr_6]' and mb_id = '') as ev1 from (적당한 테이블) limit 1
답변에 대한 댓글 1개
if ($bo_table == "m2" && $write[mb_id] == $member[mb_id] && $write[wr_3] == "개별상품") {
$ev3_sql = "";
if ($write[wr_10]) { //세번째보상이 있다면
$ev3_sql = " (SELECT count(*) AS cnt FROM g4_event WHERE event_id ='$write[wr_id]' and part = '$write[wr_10]' and mb_id = '') as ev3, ";
} //세번째보상이 있다면끝
$evsql = " select
$ev3_sql
(SELECT count(*) AS cnt FROM g4_event WHERE event_id ='$write[wr_id]' and part = '$write[wr_6]' and mb_id = '') as ev1,
(SELECT count(*) AS cnt FROM g4_event WHERE event_id ='$write[wr_id]' and part = '$write[wr_8]' and mb_id = '') as ev2
from g4_event limit 1 ";
$evcnt = sql_fetch($evsql);
} //---------------------------------------이벤트게시판이고 글쓴이라면실행끝
이렇게 해야한다는 말씀이시지요?
파고들수록 오묘하네요 ;;;;;;;;;
$ev3_sql = "";
if ($write[wr_10]) { //세번째보상이 있다면
$ev3_sql = " (SELECT count(*) AS cnt FROM g4_event WHERE event_id ='$write[wr_id]' and part = '$write[wr_10]' and mb_id = '') as ev3, ";
} //세번째보상이 있다면끝
$evsql = " select
$ev3_sql
(SELECT count(*) AS cnt FROM g4_event WHERE event_id ='$write[wr_id]' and part = '$write[wr_6]' and mb_id = '') as ev1,
(SELECT count(*) AS cnt FROM g4_event WHERE event_id ='$write[wr_id]' and part = '$write[wr_8]' and mb_id = '') as ev2
from g4_event limit 1 ";
$evcnt = sql_fetch($evsql);
} //---------------------------------------이벤트게시판이고 글쓴이라면실행끝
이렇게 해야한다는 말씀이시지요?
파고들수록 오묘하네요 ;;;;;;;;;
답변을 작성하려면 로그인이 필요합니다.
쓸대는 아무생각없이 썻지만 정확하게 어떤건지 파악을 해야할것 같아요.....
답변 부탁드릴수 잇을까요? (__);;;;;;;