MasterTable的量的总和我有两个表:
1.主获取它连接到DetailTable
| ID | Name | Amount | |-----|--------|--------| | 1 | a | 5000 | | 2 | b | 10000 | | 3 | c | 5000 | | 4 | d | 8000 |
2.详细
| ID |MasterID| PID | Qty | |-----|--------|-------|------| | 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其中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)
结果应该是。但我得到
请参阅this fiddle。任何建议?
再次看到问题。我想要在(1,2,3)(pid仅详细说明)中的详细信息表的pid中的金额主表的总和。 – hims056 2012-07-14 05:28:16
然后使用存在。 SELECT SUM(Amount) FROM Master M WHERE exists( SELECT 1 FROM DETAIL D WHERE PID IN(1,2,3)and d.MasterId = M.id) – 2012-07-14 15:30:42