我试图在phpMyAdmin中使用INNER JOIN
功能。
我的查询如下所示:
SELECT * FROM ___Bookings INNER JOIN ___Origins ON ___Bookings.BOO_Origin=___Origins.ORI_Id WHERE BOO_Id=1
。
问题在于此步骤中没有任何内容填充到___Origins
表中。所以我的查询返回0 row
。
如果我没有填充连接表,如何更改我的查询以返回一行?
JOIN
和INNER JOIN
之间的区别是什么?
非常感谢。
答案 0 :(得分:0)
基本上,您希望根据__BOOKINGS
表中的数据加入表。这是LEFT JOIN
的工作,而不是INNER JOIN
(与JOIN
相同)。
有关SQL连接的更多信息,请参阅此处:http://www.sql-join.com/sql-join-types/
答案 1 :(得分:0)
Join和Inner Join之间没有区别(如果这还不够,你可以搜索它)。
对于另一部分 - 当没有一行时如何返回一行? 如果您需要PHP的响应,您可以设置类似
的内容if ($query->rowCount() > 0) {
echo $records;
}
else {echo "N";}
在你的其他代码中,只是声明响应是“N”(或其他东西)做某事或不做任何事情。