php - 带和的Join id

  显示原文与译文双语对照的内容
0 0

我有表 table1 with列id和名称。 我还有一个表1,列为table1_id和 num 。 我想做的是得到一个 php array,它包含一个带有名称和与之对应的num的关联 array 。 现在我正在尝试一个foreach循环来循环通过table1的id,并执行内部 Join 。 我该怎么做?

时间: 原作者:

0 0

查询,你可以使用一个 JOIN table1_id的子查询组表,并计算和使用 GROUP BY 。 要将数据获取到关联 array 中,请使用 mysql_fetch_assoc:


$sql ="SELECT t.id, t.name, g.SumNum
 FROM table1 t
 LEFT JOIN (
 SELECT table1_id, SUM(num) SumNum
 FROM table2
 GROUP BY table1_id 
 ) g ON t.id = g.table1_id";

$result = mysql_query($sql);

while ($row = mysql_fetch_assoc($result)) {
 echo $row["id"];
 echo $row["name"];
 echo $row["SumNum"];
}

mysql_free_result($result);

0 0

$query ="
 SELECT 
 table1.name, 
 SUM(table2.num) AS `sum`
 FROM
 table1
 LEFT OUTER JOIN
 table2
 ON
 table1.id = table2.table1_id
 GROUP BY 
 table1.id
";

$result = mysql_query($query);
while ($row = mysql_fetch_assoc($result)) {
 $array[] = $row;
}

print_r($array);

原作者:
...