请问一个有关分级汇总的 SQL 语句,请各位大侠指点一二,不胜感激! ( 积分: 200 )

  • 主题发起人 主题发起人 reedblue
  • 开始时间 开始时间
R

reedblue

Unregistered / Unconfirmed
GUEST, unregistred user!
表1:分级部门表&nbsp;&nbsp;tbDepart&nbsp;&nbsp;字段:&nbsp;dptID,&nbsp;dptName,&nbsp;dptParentID<br>&nbsp;&nbsp;其中&nbsp;dptID&nbsp;是关键字,dptParentID&nbsp;是指示父部门的&nbsp;ID,<br>表2:业务员表&nbsp;&nbsp;tbSaleMan&nbsp;&nbsp;字段:slmID,&nbsp;slmName,&nbsp;dptID&nbsp;<br>&nbsp;&nbsp;其中&nbsp;slmID&nbsp;是关键字,dptID&nbsp;是所属部门&nbsp;ID,外键<br>表3:业务客户表&nbsp;&nbsp;tbCustomer&nbsp;&nbsp;字段:cstID,&nbsp;cstName,&nbsp;slmID<br>&nbsp;&nbsp;其中&nbsp;cstID&nbsp;是关键字,slmID&nbsp;是所属业务员&nbsp;ID,外键<br>表4:发生业务表&nbsp;&nbsp;tbSaleDetail&nbsp;字段:sldID,&nbsp;sldInfo,&nbsp;sldAmount,&nbsp;cstID<br>&nbsp;&nbsp;其中&nbsp;sldID&nbsp;是关键字,sldAount是业务发生额,小数,cstID&nbsp;是本业务所属的客户<br>想要得到如下结果:<br>&nbsp;&nbsp;&nbsp;&nbsp;部门名称&nbsp;&nbsp;&nbsp;业务员名称&nbsp;&nbsp;&nbsp;客户名称&nbsp;&nbsp;&nbsp;&nbsp;发生额<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;&nbsp;客户1的每一条详细业务数据&nbsp;&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;&nbsp;客户1的小计&nbsp;&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;&nbsp;客户2的每一条详细业务数据&nbsp;&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;&nbsp;客户2的小计&nbsp;&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&lt;&nbsp;部门&nbsp;0101&nbsp;的合计&nbsp;&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;&nbsp;客户3的每一条详细业务数据&nbsp;&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;&nbsp;客户3的小计&nbsp;&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;&nbsp;客户4的每一条详细业务数据&nbsp;&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;&nbsp;客户4的小计&nbsp;&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;&nbsp;客户5的每一条详细业务数据&nbsp;&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;&nbsp;客户5的小计&nbsp;&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&lt;&nbsp;部门&nbsp;0102&nbsp;的合计&nbsp;&gt;<br>&nbsp;&nbsp;&lt;&nbsp;部门&nbsp;01&nbsp;的合计&nbsp;&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;...<br>&lt;&nbsp;总计&nbsp;&gt;<br><br>其中客户所属的部门级别并不一定相同,请问这个&nbsp;SQL&nbsp;语句怎么做?<br>最好是单个语句,不要用存储过程或者函数
 
用一条sql得出这样的结论是可以的,&nbsp;通过Union联合几个结果集,&nbsp;但是,我认为这样做的好处并不多。我建议采用dev那种控件提供的栅格来表现数据,&nbsp;查询只查出具体的实际业务数据,然后让控件分组,最后合计。&nbsp;这样复杂问题就分开解决了。
 
dev&nbsp;的Grid&nbsp;能够自动合计吗?
 
我的客户端并不都是&nbsp;Delphi&nbsp;做的,也有其他的,所以说需要尽量使用&nbsp;SQL&nbsp;语句取得结果,请各位大侠不吝赐教。
 
难道没有哪位大侠伸出你有力的双手,帮帮小弟?
 
可以用Grouping.你看看帮助.
 
一个SQL看来有点难度把,用程序循环来做把,这样我看2个循环就可以了
 
多人接受答案了。
 
后退
顶部