Нужна помощь в написании внутреннего запроса на соединение - PullRequest
0 голосов
/ 19 марта 2019
$query= mysqli_query($db,"SELECT a.*, b.collection_id , c.contract_id,
d.customer_name FROM rentals_invoice  
AS b INNER JOIN rental_collection as a ON (b.collection_id = a.collection_id) 
AS c INNER JOIN rental_contract as b ON (c.contract_id = b.contract_id) 
AS d INNER JOIN customer_info as c ON (d.customer_id = c.customer_id)");

У меня есть таблицы a, b, c, d

'a', есть fkey of 'b'

'b', есть fkey of 'c'

'c' имеет fkey of 'd'

Я хочу получить данные от всех из них, и я не знаю, как получить их с помощью внутреннего соединения или любого другого типа соединения в одном запросе.

Я новичок.

Ответы [ 2 ]

1 голос
/ 19 марта 2019

Вы потеряли свои псевдонимы.Вы перезаписываете свои псевдонимы.Вы также можете использовать using, чтобы упростить это.

FROM rentals_invoice  AS b 
INNER JOIN rental_collection as a using(collection_id) 
INNER JOIN rental_contract AS c using(contract_id) 
INNER JOIN customer_info as d using(customer_id)");

Я бы также использовал псевдонимы, которые относятся к реальному имени таблицы.a, b, c и т. Д. Бесполезны и их будет сложно диагностировать позже.

0 голосов
/ 20 марта 2019
$query = mysqli_query($db,"
    SELECT a.*,b.collection_id,c.contract_id,d.customer_name 
    FROM `rentals_invoice` As a
    INNER JOIN rental_collection As b ON b.collection_id = a.collection_id
    INNER JOIN rental_contract AS c ON c.contract_id = b.contract_id
    INNER JOIN customer_information AS d ON d.customer_cnic = c.customer_cnic
");

Спасибо всем, кто помогал или пытался помочь мне, я понял, что такое JOIN.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...