我有三个表作为h_basic,h_amenities和h_images与公共列u_name。有两个名为product-list和product-review的php页面。当我在产品列表页面上点击该产品的按钮时,我想在产品评论页面上获取特定产品的详细信息。
我有从单个表中检索单行的代码,但我想检索所有三个表中的特定行,并且我还想将u_name作为主要而不是id,因为id在所有表中都是变化的。
<?php
$id = isset($_REQUEST['id']) ? $_REQUEST['id'] : "0";
$sql = ("SELECT h_basic.*, h_images.* FROM h_basic JOIN h_images WHERE h_basic.id = h_images.id");
$result = mysql_query("$sql");
while ($row = mysql_fetch_array($result)) {
echo $row['h_name']; echo $row['h_state'];
?>
<img src="images/<?php echo $row['h_image01'];?>"><img src="images/<?php echo $row['h_image02'];?>"><img src="images/<?php echo $row['h_image03'];?>"><img src="images/<?php echo $row['h_image04'];?>">
<?php }?>
表1:
表2:
答案 0 :(得分:0)
只需使用匹配的任何字段作为ON
JOIN
条件
SELECT B.*, I.*, A.*
FROM h_basic B
LEFT JOIN h_images I ON B.u_name = I.u_name
LEFT JOIN h_amenities A IN B.u_name = A.u_name
您需要添加WHERE
子句才能获得特定名称
请注意,如果您在每个表上都有一个索引来加入字段
,这将会更快