2014-10-16 4 views
0

Я пытаюсь выбрать данные из двух таблиц, но я не могу понять правильный путь. У меня есть 2 стола - кредиты и запросы. Ссуды имеют поля, представляющие интерес для данного конкретного запроса, например статус, loan_id. С другой стороны, в таблице запросов также есть поля. Мой запрос пытается получить данные из этих 2-х таблиц, например:SQL Select От 2 разных таблиц

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 поля с тем же значением в каждой записи. PS: Этот столбец loan_id может быть пустым, поскольку не все запросы являются кредитными приложениями.

+0

как вы присоединитесь к двум таблицам? – jhowe

+0

У вас должно быть какое-то отношение между этими таблицами. Мое предположение было бы через loan_id? – geoandri

+0

OK позвольте мне попробовать ... – 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

Это определенно должно быть ЛЕВОЕ присоединение, поскольку не каждый запрос привел к ссуде , поскольку автор уже описал + необходимость отношения между ними, а не только d.loan_status = 12. –