테스트 사이트 - 개발 중인 베타 버전입니다

join 관련 재질문 드립니다. 채택완료

tacks 5년 전 조회 2,491

안녕하세요.

$sql = " select * from a1_match as Q left join a1_meta as W on Q.match_w = W.meta_bs limit {$from_record}, {$rows} ";
$result = sql_query($sql);


현재 레드박스와 같이 A테이블 meta_bs와 B테이블의 match_w를 조인하여 C의 C1에 표기하게 하였습니다.

이걸 블루박스처럼 B테이블 match_v 또는 match_w 가 없는 경우로 A테이블에서 찾아 C표를 채우려 하는데 조언을 구합니다.

 

 

댓글을 작성하려면 로그인이 필요합니다.

답변 1개

채택된 답변
+20 포인트
5년 전

</p>

<p>SELECT B.match_v, A.meta_bs 

  FROM B LEFT JOIN A ON B.match_v = A.meta_br 

 WHERE B.match_v > ''

 UNION ALL 

SELECT A.meta_br, B.match_w

  FROM B LEFT JOIN A ON B.match_w = A.meta_bs

 WHERE B.match_w > ''; </p>

<p>

로그인 후 평가할 수 있습니다

답변에 대한 댓글 3개

t
tacks
5년 전
감사합니다.
적용은 잘 되었습니다. ^^
한가지 질문을 더 드려봅니다.
자료가 수만~수십만건이라 로딩이 오래걸리거나 로딩중 서버가 멈춰버리는데 좀 가볍게 처리할 다른 방법이 없을지요?
마르스컴퍼니
5년 전
그 부분 까지는 잘 모르겠습니다.

혹 B 테이블의 match_v 칼럼과 match_w 칼럼 각각 인덱스를 생성해주면 도움이 될 수도 있습니다.
t
tacks
5년 전
감사합니다.
인덱스 생성하니 아주 빨라졌습니다. ^^

댓글을 작성하려면 로그인이 필요합니다.

답변을 작성하려면 로그인이 필요합니다.

로그인