테이블 조인 도와주세요

매출이 오르면 내리는 수수료! 지금 수수료센터에서 전자결제(PG)수수료 비교견적 신청해 보세요!
테이블 조인 도와주세요

QA

테이블 조인 도와주세요

답변 3

본문

안녕하세요. 항상 감사합니다.

현재 두 테이블에서 몇몇 필드 데이터 값이 동일한 필드를 조인해서 그 테이블의 특정 필드를 표시해주려고 합니다. 예를 들어서 

A 테이블의 a 필드, b 필드, c 필드 데이터 값과

B 테이블의 a 필드, b 필드, c 필드 데이터 값이 같으면 d 필드의 데이터 값을 화면에 표시해주는 겁니다. 

 쿼리문은 이렇게 해주었는데 아닌 거 같아서 chatGPT 에게 물어봐도 제대로 대답을 못 하기도 하고 그누보드에는 코드가 조금 다른거 같더라고요 <?= row['client'] ?> 이렇게 표시하는게 아니라 $view['client'] 이렇게 표시하는거 같아서요. 제 코드는 아래와 같습니다.  

 

<?php
$sql = "SELECT client FROM g5_write_real_estate_customer 
        WHERE (g5_write_real_estate.type_of_sale = type_of_acquisition AND g5_write_real_estate.transaction_type = transaction_type AND g5_write_real_estate.sido = sido AND g5_write_real_estate.lot_area_pyeong = lot_area_pyeong)";
$result = sql_query($sql);
?>
<table class="table">
  <thead>
    <tr>
      <th scope="col"></th>
      <th scope="col">고객명</th>
    </tr>
  </thead>
  <tbody>
    <?php 
    // 결과가 있을 경우 테이블에 고객명을 출력
    if (sql_num_rows($result) > 0) {
      while ($row = sql_fetch_array($result)) {
    ?>
    <tr>
      <td></td>
      <td><?= $row['client'] ?></td>
    </tr>
    <?php 
      }
    } else {
      // 결과가 없는 경우 테이블에 메시지를 출력
    ?>
    <tr>
      <td colspan="2">고객 정보가 없습니다.</td>
    </tr>
    <?php 
    }
    ?>
  </tbody>
</table>

이 질문에 댓글 쓰기 :

답변 3


$sql = "SELECT client FROM g5_write_real_estate_customer  as c, g5_write_real_estate as e 
WHERE 
e.type_of_sale = c.type_of_acquisition AND e.transaction_type = c.transaction_type AND e.sido = c.sido AND e.lot_area_pyeong = c.lot_area_pyeong"

이렇게 하시면 됩니다.

LEFT JOIN 을 써도 됩니다.

$sql = "SELECT t1.client FROM g5_write_real_estate_customer as t1 LEFT JOIN g5_write_real_estate as t2 ON 
t1.type_of_sale = t2.type_of_acquisition AND t1.transaction_type = t2.transaction_type AND t1.sido = t2.sido AND t1.lot_area_pyeong = t2.lot_area_pyeong" WHERE t2.id IS NOT NULL

특정 필드만 조회 하실거면 인라인서브쿼리를 사용 하셔도 됩니다.
$sql = "SELECT (select b_test from b where a.key = b.key)as b_test,(select c_test from c where a.key = c.key) FROM test 

테스트 해보시고 적정하게 사용하시면 불로오고 싶은 데이터를 키위주로 조인하여 데이터를 컬럼 옆에 붙인다고 생각하시고 사용하시면 됩니다.

답변을 작성하시기 전에 로그인 해주세요.
QA 내용 검색
질문등록
전체 61,360
© SIRSOFT
현재 페이지 제일 처음으로