Php 每个用户标识对不同表中的字段求和
需要你的帮助。 php,mysql 我有以下项目 我有两张桌子Php 每个用户标识对不同表中的字段求和,php,mysql,sum,Php,Mysql,Sum,需要你的帮助。 php,mysql 我有以下项目 我有两张桌子 **table 1** user_id Plan 1 5 1 7 2 5 2 9 3 7 1 9 **table 2** Plan Price 5 100 7 200 9 300 我必须找到一个用户选择的计划的总成本 例如用
**table 1**
user_id Plan
1 5
1 7
2 5
2 9
3 7
1 9
**table 2**
Plan Price
5 100
7 200
9 300
我必须找到一个用户选择的计划的总成本
例如用户id=2必须支付400
我已经有了下面的代码,但这一代码在上面的示例中添加了数据库中所有计划的价格total cost=600
我做错了什么(
您必须在查询中指定
用户id
,如:
$user_id = 2; // or get it from $_GET, $_POST...
$sql = "select SUM(Plan.Cost) as ANSWER
FROM Plan, Users
WHERE Users.Plan = Plan.Plan AND Users.user_id = $user_id";
您可能希望在查询中使用LEFT JOIN,因此可以进行如下操作:
SELECT table1.user_id, table1.plan, SUM(table2.cost) FROM table1 LEFT JOIN table2 ON table1.plan=table2.plan WHERE table1.user_id = $user_id;
这样,您可以在1个查询中获取结果,并使数据库完成所有工作,而不是在函数等中循环数据
SELECT table1.user_id, table1.plan, SUM(table2.cost) FROM table1 LEFT JOIN table2 ON table1.plan=table2.plan WHERE table1.user_id = $user_id;