2016-05-23 2 views
1

Что здесь не так? я просто хочу отобразить весь элемент в item_tb с 2 различными группами, викма и веткой, но он ничего не возвращает. Он работает только в одном внутреннем соединении, но когда я присоединяюсь к другому, он ничего не отображает.два внутренних соединения в одном заявлении sql

|-------------|-------------------------|---------------| 
|item_tb  | vicma_tb    | branch_tb  | 
|    | vID - PK    | id-PK  | 
|branchID-FK |       |    | 
|vicma - FK |       |    | 
|-------------|-------------------------|---------------| 


$sql = " 
SELECT item_tb.* 
    , branch_tb.* 
    , vicma_tb.* 
    from item_tb 
    JOIN branch_tb 
    on item_tb.branchID = branch_tb.id 
    JOIN vicma_tb 
    on item_tb.vicma = vicma_tb.vID "; 

ответ

1

Похоже, что вам нужно сделать LEFT JOIN вместо INNER JOIN. LEFT JOIN вернет все значения из вашей исходной таблицы и NULL, если нет совпадения. Попробуйте:

SELECT item_tb.*, branch_tb.* , vicma_tb.* from item_tb 
LEFT JOIN branch_tb on item_tb.branchID = branch_tb.id 
LEFT JOIN vicma_tb on item_tb.vicma = vicma_tb.vID 
+1

Спасибо. Получил это :) – noOne

+0

Рад помочь :) – Adrian

Смежные вопросы