计算子代码的数量

时间:2011-04-11 11:06:06

标签: mysql

TAB1

id    code   name
1001   0     palani
1002  1001   shanker
1003  1002   raghu
1004  1003   kabhir
1005  1003   vani
1006  1002   priya

TAB2

id  code  name  amount  tax
1   1002  b      100     1
2   1002  j      20      10
3   1003  jk     23      20
4   1004  jk     675     9 
5   1005  o      67       3 
6   1003  u      122      4
7   1003  o      98       1
8   1003  iu     98       1
9   1002  po     4        0.4
10  1005  pl     1        0.1  
12  1005  tf     1        0.1
24  1006  e      23       2.3 

id 1001参见代码1001对应的id 1002

id 1002参见代码1002对应的id 1003,1006

id 1003见代码1003对应的id 1004,1005

其他人不需要

结果需要这样

code   amount   tax
1001   124      11.4
1002   364      28.3
1003   744      12.2

请发送此

的mysql查询

3 个答案:

答案 0 :(得分:1)

GROUP BY是你的朋友:

select tab1.id, sum (tab2.amount) amount, sum (tab2.tax) tax
from
tab1, tab2
where tab1.code = tab2.id
and tab1.id in (1001, 1002, 1003)
group by tab1.id

答案 1 :(得分:0)

这将从tab2获得你想要的东西

SELECT code, SUM(amount), SUM(tax) FROM tab GROUP BY code ORDER BY code

我无法看到tab1如何适合你想要的东西

答案 2 :(得分:0)

是否有效(未经测试)

select SUM(t2.amount) AS Amount,SUM(t2.tax) AS totalTax,t2.code FROM 
table2 t2
INNER JOIN table1 t1 ON t1.code=t2.code