私は2つのテーブルを持っています:
1。マスター
| ID | 名前| 金額| | ----- | -------- | -------- | | 1 | a | 5000 | | 2 | b | 10000 | | 3 | c | 5000 | | 4 | d | 8000 |
2.詳細
| ID | MasterID | 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 |
Deatilに参加するマスターから選択sum(Amount)
したい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を取得しています。このフィドル
を参照してください。なにか提案を?