两个表A,B
A中有:
ID,NAME,AGE等一些信息。B中有:
ID(该ID与A中对应),pmoney, 还有别的一些字段,
B中存储的记录会有多条ID一样的,(其实是个主从表)
我想在统计时,有A中的信息,再加上B中同一个ID的pmoney字段的总和。这个SQL要怎么写?谢谢!
A中有:
ID,NAME,AGE等一些信息。B中有:
ID(该ID与A中对应),pmoney, 还有别的一些字段,
B中存储的记录会有多条ID一样的,(其实是个主从表)
我想在统计时,有A中的信息,再加上B中同一个ID的pmoney字段的总和。这个SQL要怎么写?谢谢!
解决方案 »
- delphi中如何内嵌excel电子表??急急!
- 求助:这样的指针需要释放吗?如果要的话,是怎么释放的?
- 测试ING
- 在做ActiveForm,我现在已经生成了一个Test.cab和Test.ini两个文件,在降低IE安全时候可以正常下载,但做数字签名时候出错!!
- 怎么样获得数据库的逻辑名称?
- 广东,深圳的DELPHI程序员们来了!!!!
- Help : WinXP 与 QuickReport问题!
- 紧急!在线等待!怎样打开程序所在目录的某个.htm文件或.txt文件?快!!!
- 如何将StringGrid 中的数据保存为Html格式的表格
- 谁知道delphi 5 ADOExpress Update pack 2 的序列号,十万火急
- 扫描注册表的垃圾项是什么原理?
- 如何实现关机时的窗体?(即其他窗体不响应用户的命令)在此谢了。
以上的b.sum(pmoney)是错误的
t0731,t0732是什么东西?
我按其它朋友告诉我的,还是有错的,老是说A表中有某个字段不包含在GROUP BY子句中。
A中有:
ID,NAME,AGE等一些信息。B中有:
ID(该ID与A中对应),pmoney, 还有别的一些字段,
B中存储的记录会有多条ID一样的,(其实是个主从表)
我想在统计时,有A中的信息,再加上B中同一个ID的pmoney字段的总和。这个SQL要怎么写?谢谢!
select a.* , t.summoney
from
a inner join
(select a.id as id, sum(b.money) as summoney from a inner join b on a.id = b.id group by a.id) as t
on a.id = t.id
谢谢,您的可以的,但是我想加查询条件怎么加?
from
a inner join
(select a.id as id, sum(b.money) as summoney from a inner join b on a.id = b.id group by a.id) as t
on a.id = t.id这个是正解,条件就直接加啊select a.* , t.summoney
from
a inner join
(select a.id as id, sum(b.money) as summoney from a inner join b on a.id = b.id group by a.id) as t
on a.id = t.id where a.id=你的条件
如果用Tquery控件sql语句这样写
sqlStr='select a.* , t.summoney
from
a inner join
(select a.id as id, sum(b.money) as summoney from a inner join b on a.id = b.id group by a.id) as t
on a.id = t.id where a.id=' +''''变量'''';
在不加WHERE条件时,是可以了。但加上了WHERE条件后就变成了,有多少个记录就显示多少个,而不是把MONEY统计汇总了。
如:
0001 jack .. .. .. 2.00
0001 jack .. .. ... 1232.00
0002 jayce . . . . 33.21
0001 jack .. .. .. 54.34
我是想让它变成:
0001 jack . .. . .. 1288.34
0002 jayce .. . . .. 33.21请问要怎么改呢?我肯定重分感谢。
from A a left join
B b on a.id=b.id
where 条件
group by a.id,a....
order by a.id,a....;
如果你的其他字段确实有不相同的值,当然是多条记录的,否则应该是你想要的结果!