A 테이블 셀렉트 후 mb_id값 비교해서 다시 B테이블 셀렉트 하는 방법좀요 ㅠ 채택완료
$sql_choice = " select * from g5_write_choice where wr_1 = '3' "; $result_choice = sql_query($sql_choice); $row_choice=sql_fetch_array($result_choice);
>>> g5_write_choice 테이블에서 wr_1 값이 3인거만 추출합니다.
$sql = " select * from g5_write_plana_refund2 where mb_id = '$row_choice[mb_id]' and wr_datetime BETWEEN date('2021-07-31 00:00:00') and date('2021-08-13 23:59:59')+1 and wr_10 = '1' "; $result = sql_query($sql);
>>> g5_write_choice 테이블에서 추출한값을 mb_id 아이디를 비교해서 동일한 아이디 있는거만 나오게 합니다.
for ($i=0; $row=sql_fetch_array($result); $i++) { $row[mb_id] }
>>>> 이렇게 했더니 값이 하나만 나옵니다. ㅠㅠ 테이블 값 열어보면 수십개 값이 있는데 말이죠 ㅠㅠ
왜 그럴가요?
답변 3개
</p>
<p> </p>
<p>$sql_choice = " select distinct mb_id from g5_write_choice where wr_1 = '3' ";
$result_choice = sql_query($sql_choice); </p>
<p>wihle ($row_choice=sql_fetch_array($result_choice)) {</p>
<p> $sql = " select * from g5_write_plana_refund2</p>
<p> where mb_id = '{$row_choice['mb_id']}'</p>
<p> and wr_datetime BETWEEN date('2021-07-31 00:00:00')</p>
<p> and date('2021-08-13 23:59:59')+1 and wr_10 = '1' ";
$result = sql_query($sql); </p>
<p> for ($i=0; $row=sql_fetch_array($result); $i++) {
echo $row['mb_id'];</p>
<p>
}</p>
<p>}</p>
<p>
g5_write_choice 테이블에서 mb_id 기준으로 중복제거해서
mb_id에 해당되는 값들을 기준으로 g5_write_plana_refund2 에서
추출해서 처리를 하면됩니다.
답변에 대한 댓글 1개
댓글을 작성하려면 로그인이 필요합니다.
date('2021-08-13 23:59:59')+1<--- date는 무엇이며 +1은 무엇인가요?
다음처럼 해보세요
$rowk = sql_fetch(" select group_concat(DISTINCT mb_id) as mbid from g5_write_choice where wr_1 = '3' "); $idStr = "'".str_replace(',', "','", $rowk['mbid'])."'";
$date1 = ''2021-07-31 00:00:00'; $date2 = "2021-08-13 23:59:59"; $result = sql_query(" select * from g5_write_plana_refund2 where mb_id IN($idStr) and wr_datetime BETWEEN $date1 and $date2 and wr_10 = '1' "); for ($i=0; $row=sql_fetch_array($result); $i++) { echo $row[mb_id]; }
댓글을 작성하려면 로그인이 필요합니다.
답변을 작성하려면 로그인이 필요합니다.
로그인