两个表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要怎么写?谢谢!
解决方案 »
- dxdbGrid 检索问题。。
- 怎样实现运行一个已存在的文件(相当于双击运行这个文件)
- ADOStoredProc 怎样和存储过程向结合来保存记录
- 弱弱的问下字串处理,感谢高手指导!
- 用ole 显示WORD文档,说是“interface not supported”。
- 大家有没有发现 Delphi 有什么 bug 啊?
- DcomCommection连接应用服务器的问题,
- 还是stringgrid的问题!!当程序运行时,我用鼠标调整列的宽度,当我调整结束的时候,问我想在这个时候做某些操作,应该在哪个事件里写代
- 那位大虾介绍一下Delhpi!
- access数据库的字段定义中的“常规时间(1996-6-19 17:34:25)”怎么与delphi的time返回的TDateTime交互?
- 扫描注册表的垃圾项是什么原理?
- 如何实现关机时的窗体?(即其他窗体不响应用户的命令)在此谢了。
以上的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....;
如果你的其他字段确实有不相同的值,当然是多条记录的,否则应该是你想要的结果!