PHP / MySql - 从两个不同的表中检索数据的正确语法是什么?

时间:2013-10-27 22:35:04

标签: php mysql sql

我有两个不同但相关的表,我希望能够编辑/更新在表单中检索和显示的信息。简单地说,这就是我想要实现的目标:

SELECT colum_1,colum_2,colum_3 FROM表请求WHERE request_id = {$ id}

但与此同时,我想:

SELECT colum_A,colum_B,colum_C FROM table serialNumbers WHERE request_id = {$ id}

一次性执行此操作的正确/最佳方法是什么?

问题更新: 我有两个文件(1)my_request.php(列出表请求中的详细信息),以及(2)configuration.php(我将用于编辑/更新两个表的表单 - 主要是序列号表)。如何将id从my_request.php传递给configuration.php ...以便我可以应用您在上面提供的说明

对于my_request.php我有以下代码。我能够看到登录用户创建的所有请求:

while ($row = mysql_fetch_assoc($results)) {

                        $orderdate = strtotime($row['sl_date']);
                        $fdate = strftime("%d/%m/%Y", $orderdate);
                        echo '<tr>';
                        echo '<td class="txtLeft">' . $row['request_date'] . '</td>';
                        echo '<td class="txtLeft">' . $row['client_name'] . '</td>';
                        echo '<td class="txtCenter">' . $row['client_country'] . '</td>';
                        echo '<td class="txtCenter">' . $row['opportunity_number'] . '</td>';
                        echo '<td class="txtCenter">' . $row['machine_quantity'] . '</td>';
                        echo '<td class="txtCenter">' . $row['severity'] . '</td>';
                        echo '<td class="txtCenter">' . $row['request_status'];
                        echo '</td>';
                         echo '<td class="txtCenter" id="task1">
                            <a href="configuraion.php?request_id=' . $row['request_id'] . '">
                            <img src="images/edit.png" width="16" height="16" title="edit sale" style="margin:1px;"/>
                            </a> 

                            <a href="' . $row['sales_connect'] . '" onClick="return confirm(\''. $LANG['alert_sale_del'] .'\');">
                            <img src="images/s.png" width="16" height="16" title="Sales Connect" style="margin:1px;"/>
                            </a>
                            </td>'; 
                        echo '</tr>';

我需要在configuration.php上做什么才能理解从哪个ID中检索信息?对于configuration.php,我基本上有html表单,我想显示数据。

1 个答案:

答案 0 :(得分:1)

您需要一个简单的联接:

SELECT t1.colum_1, t1.colum_2, t1.colum_3, t2.colum_A, t2.colum_B, t2.colum_C
FROM requests t1
LEFT JOIN serialNumbers t2
ON t1.request_id=t2.request_id
WHERE t1.request_id={$id}

根据表2的内容,如果您只在请求表中有记录,则可以使用LEFT OUTER JOIN。有关SQL Joins - &gt;的更多信息http://www.sitepoint.com/understanding-sql-joins-mysql-database/