我有两张桌子:
1. Master
| 身份证 | 姓名 | 金额 | |-----|--------|--------| | 1 | 一个 | 5000 | | 2 | 乙 | 10000 | | 3 | c | 5000 | | 4 | d | 8000 |
2. 细节
| ID |主ID| PID | 数量 | |-----|--------|--------|------| | 1 | 1 | 1 | 10 | | 2 | 1 | 2 | 20 | | 3 | 2 | 2 | 60 | | 4 | 2 | 3 | 10 | | 5 | 3 | 4 | 100 | | 6 | 4 | 1 | 20 | | 7 | 4 | 3 | 40 |
我想sum(Amount)
从加入Deatil的Master中选择Detail.PID in (1,2,3)
所以我执行以下查询:
SELECT SUM(Amount) FROM Master M INNER JOIN Detail D ON M.ID = D.MasterID WHERE D.PID IN (1,2,3)
结果应该是20000。但我得到40000
看这个小提琴。有什么建议吗?