Php 如何从mysql的多个表中获取值?
如何从各种表中提取行并执行求和操作 比如说 表1:树Php 如何从mysql的多个表中获取值?,php,mysql,Php,Mysql,如何从各种表中提取行并执行求和操作 比如说 表1:树 ------------------- id name ------------------- 1 tree1 ------------------- 2 tree2 ------------------- 3 tree3 ------------------- 4 tree4 ------------------- 表2
-------------------
id name
-------------------
1 tree1
-------------------
2 tree2
-------------------
3 tree3
-------------------
4 tree4
-------------------
表2:leaf
--------------------------------
tree_id name value
--------------------------------
1 test1 5
--------------------------------
1 test2 3
--------------------------------
2 test3 7
--------------------------------
4 test4 9
--------------------------------
期望输出:
select tree.id,tree.name,sum(leaf.value) as total from tree,leaf where leaf.tree_id=tree.id
Array([0] => Array([id]=>1, [name]=>tree1, [total]=>8),
[1] => Array([id]=>2, [name]=>tree2, [total]=>7)
[2] => Array([id]=>3, [name]=>tree3, [total]=>0)
[3] => Array([id]=>4, [name]=>tree4, [total]=>9))
看一下连接、内部连接、外部连接、左连接、右连接和交叉连接
SELECT tree.id, tree.name, sum(leaf.value) as total
FROM tree
LEFT JOIN leaf
ON leaf.tree_id = tree.id
GROUP BY tree.id
SELECT tree.id, tree.name, sum(leaf.value) as total
FROM tree
left join leaf
ON leaf.tree_id = tree.id group by tree.id