繁体   English   中英

如何获得一个表中的所有行都暗示另一个表中的行?

[英]How to get all rows in one table that imply to a row in another table?

我有以下表格:供应商:

Id Name
1  Dan
2  John

产品:

Id Name C_Id
1  AAA 1
2  BBB 2
3  CCC 1

我要做的是一次遍历每个供应商,并打印其产品。 像这样:

{c.name} supllies {p.id} {p.name} 
Dan supplies 1 AAA and 3 CCC 
John supplies 2 BBB

从服务器获取此数据的正确方法是什么? 因为现在我使用2个循环,所以我认为应该有一种更有效的方法。

while ($row = mysql_fetch_array(mysql_query("SELECT Id,Name FROM Suppliers")))
    $id = $row["id"];
    while ($row2 = mysql_fetch_array(mysql_query("SELECT Id,Name FROM Products WHERE C_Id = $id")))
       push each $row2 in $array
    print $array for each $row1

谢谢

您可以使用join:

SELECT Suppliers.Id S_ID, Suppliers.Name S_NAME, Products.Id P_ID, Products.Name P_NAME FROM Suppliers LEFT JOIN Products ON Suppliers.Id = Products.C_Id

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM