java - 如何检索表示结果集中总和的“总”变量
问题描述
我正在制作一个 JavaFX/SQL 程序,代表客户和客户支出之间的数据。我正在尝试计算特定客户端的总客户端支出并在 Javafx 文本区域中输出。
我的 Transactions 表包含 Date、Description、Amount、Clientname 和 Transaction_ID,其中 Transaction_ID 是主键。
这是我的方法 "calculate_client_spending" "Result_transaction" 是我的全局 TextArea 变量:
public void calculate_client_spending(){
try {
ConnectionClass Databaseloader = new ConnectionClass();
Databaseloader.getConnection();
String sql = "SELECT t.Amount, t.Clientname\n" +
" FROM Transactions AS t\n" +
" JOIN (SELECT Clientname, SUM(Amount) AS total\n" +
" FROM Transactions\n" +
" WHERE Clientname = 'Gaylord420') AS s ON t.Clientname =
s.Clientname";
ResultSet rs = Databaseloader.executeSQLRequestCommand(sql);
rs.next();
Results_trasactions.setText("");
Results_trasactions.setText("The total profits today are: " +
rs.getInt("total"));
}
}
catch (SQLException e) {
System.err.println("Got an exception! ");
System.err.println(e.getMessage());
}
}
方法方法返回:“出现异常!未找到列‘总计’。”
似乎认为“总计”是一个列,但它是一个别名,而不是我的“事务”表中的一个属性。总数应该是最终查询的结果。如果有帮助,我的查询是根据这篇文章构建的:
任何帮助都会很棒。被这个问题困了一个月了。
解决方案
您没有total
在select
列表中包含该列,因此在您的代码中仅返回 2 列:Amount
和Clientname
.
改成这样:
String sql = "SELECT t.Amount, t.Clientname, s.total\n" +
...........................................................
推荐阅读
- java - Kotlin 的 JvmDefault - 还需要声明方法吗?
- android - android.permission.ANSWER_PHONE_CALLS 我该如何使用?自动应答
- javascript - Javascript 二维数组函数
- php - 禁用 Cs 购物车管理面板中的字段
- apache-zookeeper - Zookeeper dataLogDir 配置无效
- typescript - tsconfig 路径不起作用
- python - Selenium Python - 获取所有已加载 URL 的列表(图像、脚本、样式表等)
- typo3 - Typo3 查询生成器
- c# - WPF 从 xaml 设置转换器的公共图像属性
- spring - Docker:客户端和服务器之间的链接