gpt4 book ai didi

java - 如何比较两个数据集以检查另一个数据集中不存在的缺失行?

转载 作者:行者123 更新时间:2023-12-02 13:13:01 25 4
gpt4 key购买 nike

我构建了一个采用两个数据集的方法:dataset1retirementSimpleData。它根据主键/数字(在下面的代码中定义为 cnum)匹配两个数据集。我想返回 getAssets 值和 getSums 值之间的差值,除了一个小问题之外,这是有效的。

dataset1 中存在的一些 cnum 在 retirementSimpleData 中不存在。同样,一些可能存在于 retirementSimpleData 中的 cnums 可能不存在于数据集1。这会导致该 cnum 没有返回任何数据。

我想在最后实现两次传递,检查一个方向,看看我是否错过了任何东西。第二遍将检查相反的方向。但是,不确定我将如何实现这一点。

 public void getReportData(int index) {

String date1 = Util.dateTimeToShortString(reportDate);
String date2 = reportDao.getPreviousRetirementDate(date1);

List<SurveyCompareAssetsCheckData> dataset1 = reportDao.getSurveyCheckCompareAssetsData(date1);

List<RetSurveyAssets> retirementSimpleData = reportDao.findRetSurveyByDate(date1);

for (SurveyCompareAssetsCheckData surveyCompareAssetsCheckData : dataset1) {
for (RetSurveyAssets surveyCompareAssetsCheckData2 : retirementSimpleData) {
if (surveyCompareAssetsCheckData.getCnum() == surveyCompareAssetsCheckData2.getCnum()) {
surveyCompareAssetsCheckData.setRetirementsimple(surveyCompareAssetsCheckData2.getSums());
surveyCompareAssetsCheckData.setDifference(surveyCompareAssetsCheckData.getAssets() - surveyCompareAssetsCheckData2.getSums());

警告:dataset1retirementSimpledata 都使用我不允许触及的现有 SQL 拉取,否则我会简单地在我的“DAOImpl”中为这些方法定义新的 SQL ”。因此,我必须处理我获得的数据,并以编程方式检查这一点。

下面是使用我的代码生成的报告。正如您所看到的,我最终得到了零,这将差异(错误地)显示为零,因为本例中的 Cnum #45 根本不存在于第二个数据集中(retirementSimpleData) enter image description here

最佳答案

Cnum的数据类型是什么,如果是int则默认值为零。

您必须添加 else-if 条件来检查,例如:

else if (surveyCompareAssetsCheckData2.getCnum()== 0){

-------- logic here --------------------

}
else if (surveyCompareAssetsCheckData.getCnum() ==0){

----------logic here -----------

}

关于java - 如何比较两个数据集以检查另一个数据集中不存在的缺失行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43876487/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com