[英]One parent row, multiple child rows in another table. How to get them all in one row?
[英]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.