2014-10-16 2 views
0

두 테이블에서 데이터를 선택하려고하는데 정확한 방법을 알 수 없습니다. 나는 2 개의 테이블을 가지고있다 - 대출과 요청. 대출에는 특정 검색어와 관련된 필드 (예 : status, loan_id)가 있습니다. 반면에 요청 테이블에는 일부 필드가 있습니다. 내 쿼리가 이러한 두 테이블에서 데이터를 가져 오는 중입니다.SQL Select 두 가지 다른 테이블에서

SELECT a.request_id, 
    a.request_date, 
    a.customer_id, 
    a.request_type, 
    a.target_customer, 
    a.customer_id, 
    a.agent_number, 
    a.merchant_number, 
    a.bill_reference, 
    d.loan_id, 
    a.amount 
    FROM loans d, 
    requests a 
    WHERE d.loan_status=12 

이렇게하면 각 레코드에 동일한 값을 가진 loan_id 필드가있는 결과가 반환됩니다. 추 신 : 모든 요청이 대출 신청이 아니므로이 loan_id 열은 null 일 수 있습니다.

+0

두 테이블을 어떻게 합치시겠습니까? – jhowe

+0

이러한 테이블 간에는 어떤 종류의 관계가 있어야합니다. 내 추측은 loan_id를 통해 이루어질 것입니까? – geoandri

+0

그래, 그걸 해보 죠 ... – Denny

답변

2

당신은 (예를 들어 loan_id에 대한) 요청 테이블의 필드가 있어야처럼 대출 테이블의 loan_id에 가입하는 참조를 사용해야합니다. 이 경우 다음 쿼리를 사용해야합니다.

SELECT a.request_id, 
a.request_date, 
a.customer_id, 
a.request_type, 
a.target_customer, 
a.customer_id, 
a.agent_number, 
a.merchant_number, 
a.bill_reference, 
d.loan_id, 
a.amount 
FROM requests a left join loans d on a.loan_id=d.loan_id 
    where d.loan_status=12 
+0

해결되었습니다 ... 감사합니다. – Denny

0

당신은

SELECT a.request_id, 
a.request_date, 
a.customer_id, 
a.request_type, 
a.target_customer, 
a.customer_id, 
a.agent_number, 
a.merchant_number, 
a.bill_reference, 
d.loan_id, 
a.amount 
FROM loans d inner join 
requests a 
on d.loan_status=12 
+0

모든 요청이 대출로 끝난 것은 아니기 때문에 분명히 LEFT 조인이 필요합니다. 저자는 이미 d.loan_status = 12뿐만 아니라 두 사람 사이의 관계가 필요하다고 묘사했기 때문에. –

관련 문제