联接两个表时,得到的结果不正确。 Runlog.casecount乘以第二个表(Vppallets)上包含相同货盘编号的记录数,但是(故意)在其上有重复的货盘编号,但是我得到的结果不是正确的。现在,我在查询中使用了where子句,但同样得到了不正确的结果。
预期结果
RunID Cases vpLot
----------------------
1872 104.00 136
1872 104.00 137
当前结果和当前代码:
RunID Cases vpLot
-----------------------
1872 312.00 136
1872 312.00 137
当前查询
SELECT
Vppallets.RunID,
SUM(RunLog.casecount) AS Cases,
Vppallets.vplot
FROM
Vppallets, RunLog
WHERE
Vppallets.vpPalletID = RunLog.PalletID
AND Vppallets.RunID = 1872
GROUP BY
Vppallets.RunID, Vppallets.vplot
以下示例数据:
Vppallets
vpPalletID PalletNumber RunID casecount vplot
-----------------------------------------------------
5000120 4001810 1872 34.66 136
5000120 3001802 1872 34.66 136
5000120 3001856 1872 34.66 136
5000123 4001808 1872 34.66 137
5000123 3001801 1872 34.66 137
5000123 4001833 1872 34.66 137
Runlog
RunID PalletID casecount
-----------------------------
1872 5000120 104.00
1872 5000123 104.00
我知道重复项来自哪里,我也尝试过进行连接,也重复项得到完全相同的结果,如果删除条件,那么结果会更糟。