Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/338.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/84.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 尝试获取SQL查询以返回customerId等于给定customerId的列的和_Java_Sql - Fatal编程技术网

Java 尝试获取SQL查询以返回customerId等于给定customerId的列的和

Java 尝试获取SQL查询以返回customerId等于给定customerId的列的和,java,sql,Java,Sql,我有一个sql查询,当给定一个客户id时,它应该转到booking a,获取“支付金额”列和“部分成本”列的总和。 但是,当我执行时,总成本和总金额分别返回100和100,但总成本和应为1000 SELECT SUM(cost) AS 'total_cost', SUM(amount_paid) AS 'amount_paid' FROM booking WHERE ID = 'customerId' 执行resultSet.getString(“总成本”)时它返回100个相同的支付金额,我

我有一个sql查询,当给定一个客户id时,它应该转到booking a,获取“支付金额”列和“部分成本”列的总和。 但是,当我执行时,总成本和总金额分别返回100和100,但总成本和应为1000

SELECT SUM(cost) AS 'total_cost', SUM(amount_paid) AS 'amount_paid' FROM booking WHERE ID = 'customerId' 
执行
resultSet.getString(“总成本”)时
它返回100个相同的
支付金额
,我也尝试过做
resultSet.getString(2)同样的问题。
我做错了什么

预订表中的列: ID、成本、支付金额、客户ID

插入到预订表中的行

1 100 100,
2 300 100,
3 500 100,
4 100 100,
5 0 100,
删除“其中id='customerId'”:)

我有一个sql查询,当给定客户id时,它应该去预订a获取“已支付金额”列和“部分成本”列的总和。然而,当我执行它时,它返回“总成本总和”为100,“已支付金额总和”为100,但“总成本总和”应为1000

SELECT SUM(cost) AS 'total_cost', SUM(amount_paid) AS 'amount_paid' FROM booking WHERE ID = 'customerId' 
因此,预期的答案是总成本=1000(加上所有价值),支付金额=100(或该客户的相关价值)

因此,您的问题是,由于查询中将总成本和支付金额放在一起,因此它也会根据客户ID限制总成本。我建议将其分为两个问题。或者,如果需要维护单个查询,则可以使用子查询来检索总成本,而不受客户ID的限制

SELECT 
   (SELECT SUM(cost) FROM booking) AS 'total_cost', 
   SUM(amount_paid) AS 'amount_paid' 
FROM booking 
WHERE ID = 'customerId'

刚刚编辑了信息谢谢刚刚了解出了什么问题我打电话是通过ID而不是客户ID谢谢!