2016-05-23 12 views
1

ここで何が問題なのですか?私はちょうどitem_tbのすべての項目をvicmaとbranchという2つの異なるグループで表示したいが、何も返さない。 1つの内部結合でのみ機能しますが、他の結合に参加すると何も表示されません。1つのSQL文で2つの内部結合

|-------------|-------------------------|---------------| 
|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

INNER JOINの代わりにLEFT 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

関連する問題