几个数据表之间如何统计数据??? ( 积分: 100 )

  • 主题发起人 主题发起人 调皮儿
  • 开始时间 开始时间

调皮儿

Unregistered / Unconfirmed
GUEST, unregistred user!
现有表1:<br>姓名&nbsp;&nbsp;&nbsp;车间&nbsp;&nbsp;&nbsp;&nbsp;完成内容<br>张三&nbsp;&nbsp;&nbsp;&nbsp;甲&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1<br>李四&nbsp;&nbsp;&nbsp;&nbsp;甲&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2<br>张三&nbsp;&nbsp;&nbsp;&nbsp;甲&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;3<br>王五&nbsp;&nbsp;&nbsp;&nbsp;乙&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;4<br>表2:<br>姓名&nbsp;&nbsp;&nbsp;车间&nbsp;&nbsp;&nbsp;&nbsp;完成内容<br>张三&nbsp;&nbsp;&nbsp;&nbsp;甲&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;5<br>王五&nbsp;&nbsp;&nbsp;&nbsp;乙&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;6<br>赵七&nbsp;&nbsp;&nbsp;&nbsp;丙&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;7<br>统计之后,在统计的dbgrid中显示:<br>姓名&nbsp;&nbsp;&nbsp;车间&nbsp;&nbsp;&nbsp;&nbsp;表1&nbsp;&nbsp;&nbsp;表2&nbsp;&nbsp;&nbsp;总数量<br>张三&nbsp;&nbsp;&nbsp;&nbsp;甲&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;3<br>李四&nbsp;&nbsp;&nbsp;&nbsp;甲&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1<br>王五&nbsp;&nbsp;&nbsp;&nbsp;乙&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2<br>赵七&nbsp;&nbsp;&nbsp;&nbsp;丙&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1<br>这个统计要用几个query和datasource,如何写代码?(要详细的哟!!)
 
select&nbsp;姓名,车间,sum(完成内容1),sum(完成内容2),sum(完成内容1)+sum(完成内容2)<br>from<br>(<br>select&nbsp;姓名,车间,&nbsp;完成内容&nbsp;as&nbsp;完成内容1,&nbsp;0&nbsp;as&nbsp;完成内容2&nbsp;from&nbsp;表1<br>union&nbsp;all&nbsp;<br>select&nbsp;姓名,车间,0&nbsp;as&nbsp;完成内容1,&nbsp;完成内容&nbsp;as&nbsp;完成内容2&nbsp;from&nbsp;表2<br>)<br>Group&nbsp;by&nbsp;姓名,车间
 
不行呀,说是“在关键字&nbsp;'group'&nbsp;附近有语法错误。”!!再帮我看看啊!!!
 
在&nbsp;)&nbsp;后面随便加上个字母作为临时表的别名就没问题了,<br>例如&nbsp;<br>select&nbsp;姓名,车间,sum(完成内容1),sum(完成内容2),sum(完成内容1)+sum(完成内容2)<br>from<br>(<br>select&nbsp;姓名,车间,&nbsp;完成内容&nbsp;as&nbsp;完成内容1,&nbsp;0&nbsp;as&nbsp;完成内容2&nbsp;from&nbsp;表1<br>union&nbsp;all&nbsp;<br>select&nbsp;姓名,车间,0&nbsp;as&nbsp;完成内容1,&nbsp;完成内容&nbsp;as&nbsp;完成内容2&nbsp;from&nbsp;表2<br>)&nbsp;t<br>Group&nbsp;by&nbsp;姓名,车间
 
suger的答案正确,你可以参考一下!
 
可是这样,我的完成内容是不是必须是int型的啊?我试了,用int型的可以,如果是char型的,就说转换类型时发生语法错误。因为本身我的id就不是int型的,是按日期的变化来设置的。
 
多人接受答案了。
 

Similar threads

S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
D
回复
0
查看
2K
DelphiTeacher的专栏
D
D
回复
0
查看
2K
DelphiTeacher的专栏
D
D
回复
0
查看
1K
DelphiTeacher的专栏
D
后退
顶部