来吧!大富翁们,我给你们送分来了 (120分)

  • 主题发起人 主题发起人 wangfujun
  • 开始时间 开始时间
W

wangfujun

Unregistered / Unconfirmed
GUEST, unregistred user!
我用的是fastreport报表,
我有两个数据表

大组表:
----------------
id | 大组名称
----------------
1 | dz1
2 | dz2
3 | dz3
----------------
小组表:
-----------------------
id | 小组名称 |大组号
-----------------------
1 | xz1 | 1
2 | xz2 | 1
3 | xz3 | 1
4 | xz1 | 2
5 | xz2 | 2
6 | xz3 | 2
7 | xz1 | 3
8 | xz3 | 3
-----------------------

我要实现下面样子的报表:
------------------------------------------------------
大组名称| 小组数量 | 小组号 | 小组名称| 小组号 | 小组名称
-----------------------------------------------------
dz1 | () | 1 | xz1 | 2 | xx2
----------------------------------------------------
| | 3 | xz3 | |
----------------------------------------------------
dz2 | () | 1 | xz1 | 2 | xx2
----------------------------------------------------
| | 3 | xz1 | |
----------------------------------------------------
dz3 | () | 1 | xz1 | 3 | xx3
----------------------------------------------------
括号的地方就是我的问题!怎么在括号的地方显视对应的小组数量?
 
我看不到内容
 
打不开啊.也不知道你想表达什么意思,
 
这回可以看见了!TMD我的昨天放上去的时候还有,今天那个网站就不在了
 
还是看不到
 
真是不好意思,这回肯定能看到了!呵呵
 
Select [大组号],count(*) qty from [小组表] group by [大组号]
然后你在添小组数量的时候,Locate一下[大组号],将qty添进去不就行了吗。
 
我觉得你这个方法可行,可是这locate在哪写呢?小弟实在不知
 
Select [大组号],count(*) qty from [小组表] group by [大组名称]
然后你在添小组数量的时候,Locate一下[大组号]
 
我可以得分吗
 
谁告诉我这Locate[大组号] 在哪写?怎么写?有源码最好!一句也行
 
在你的报表内容要打印的事件中写。你用的是什么报表?
 
我用的是fastreport,你帮帮忙,写一句吧,我研究好几天了,都没出来,郁闷死了
 
select c.大组名称,b.qty as 小组数量,a.id as 小组号,小组名称 from 小组表 as a,(
select b.id,count(*) as qty from 小组表 as a,大组表 as b where a.大组号=b.id group by b.id
) as b,大组表 as c where
a.大组号=b.id and a.大组号=c.id
得出来的结果是:
大组名称 小组数量 小组号 小组名称
dz1 3 1 xz1
dz1 3 2 xz2
dz1 3 3 xz3
dz2 3 4 xz1
dz2 3 5 xz2
dz2 3 6 xz3
dz3 2 7 xz1
dz3 2 8 xz3
"大组名称" 和 "小组数量"重复的可以在fr里处理.
 
优化一下语句:
select b.大组名称,b.小组数量,a.id as 小组号,小组名称 from 小组表 as a,(
select b.id,b.大组名称,count(*) as 小组数量 from 小组表 as a,大组表 as b where a.大组号=b.id group by b.id,b.大组名称
) as b where
a.大组号=b.id
 
谢谢了。我搞定了,加分了!
我的sql是
SELECT yydz.dzh, yydz.name, yyxz.xzh, yyxz.name, bb.shuliang
FROM yydz, yyxz, [SELECT [yydz].[dzh], count(*) AS shuliang
FROM yydz, yyxz
WHERE [yydz].[dzh]=[yyxz].[dzh]
GROUP BY yydz.dzh
ORDER BY [yydz].[dzh]]. AS bb
WHERE yydz.dzh=yyxz.dzh and yydz.dzh=bb.dzh;
 
多人接受答案了。
 

Similar threads

S
回复
0
查看
1K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
916
SUNSTONE的Delphi笔记
S
后退
顶部