示例场景;可以说我在寻找员工及其雇主
tblEmployee
eid | name
1 | james
2 | harry
tblCompany
cid | name
1 | ABC Ltd
2 | XYZ Corp
tblMappings
mid | eid | cid
1 | 1 | 2
James被分配给XYZ Corp公司,但是harry没有分配。我想撤出所有员工,无论他们是否被分配;
SELECT * FROM `tblEmployee`
LEFT JOIN `tblMappings` ON
`tblEmployee`.`eid` = `tblMappings`.`eid`
这将在phpMyAdmin中返回以下内容;
eid | name | mid | eid | cid
1 | james | 1 | 1 | 2
2 | harry | NULL | NULL | NULL
我正在使用PHP执行查询并使用:
while($row=mysql_fetch_assoc($results)) { ...blah.... }
但是对于哈利$ row ['eid']是空白。我不确定如何解决这一问题,因此任何观点都将不胜感激。非常感谢 :)
最佳答案
eid
中的tblEmployee
字段不为空,但是eid
中的tblMappings
字段为空,这是预期的,因为该表中没有匹配的记录。指定所需的字段而不是SELECT * ...
。
SELECT e.*, m.mid, m.cid FROM `tblEmployee` e
LEFT JOIN `tblMappings` m ON
e.`eid` = m.`eid`
关于php - mysql左加入php中的空值,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/7259720/