Case I得到以下查询:
SELECT * FROM `parking_parking`
JOIN `parking_address` ON `parking_parking`.`parking_address` = `parking_address`.`address_id`
WHERE `parking_id` = 3此查询选择有关停车的信息(地址和有关停车本身的数据)。
一般说来..。它起作用了!
问题
不过有个小问题..。无论何时从数据库中删除地址,并且停车本身仍然存在。整个查询返回0。仅仅因为它查找和A,和B作为链接。但如果一个人没有找到,第二个也不会被归还。
现在有个解决办法..。存在
然而,我不知道如何使用它。
我试过:
EXISTS JOIN
JOIN EXISTS
JOIN `parking_address` ON EXISTS但没有结果。
我希望(并猜测)我忽略了一件小事。
Note !!我不使用这个在现实生活中! 选择*从 我做这一次时,我还在素食基础,我发现了困难的方式,即使是最简单的网页加载了很长时间。
解决方案: GolezTrol
SELECT * FROM `parking_parking`
LEFT JOIN `parking_address` ON `parking_parking`.`parking_address` = `parking_address`.`address_id`
WHERE `parking_id` = 3发布于 2015-07-18 08:52:34
将join (inner join的缩写)更改为left join (= left outer join)。这将返回所有parking,如果没有匹配的地址,则只返回地址字段的null。
SELECT * FROM `parking_parking`
LEFT JOIN `parking_address`
ON `parking_parking`.`parking_address` = `parking_address`.`address_id`
WHERE `parking_id` = 3https://stackoverflow.com/questions/31489437
复制相似问题