这里有什么问题?我只想显示 item_tb 中的所有项目,包含2个不同的组,vicma和branch,但它不返回任何内容。它只能在一个内部连接中起作用,但是当我加入另一个内部连接时,它什么都不显示。
|-------------|-------------------------|---------------|
|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 ";
答案 0 :(得分: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