有三个表:tab1,tab2,tab3
tab1关键字段:zmlm,gdm,gdhzm
tab2关键字段:zmlm,gdm,cid
tab3关键字段:cid,a1,a2,a3……
关系:tab1中zmlm和gdm共同确定一唯一记录;
tab2中cid确定唯一记录,zmlm,gdm有重复;
tab3中cid唯一确定一条记录;
如:tab1
zmlm,gdm,gdhzm
dzp,1,一股
dzp,2,二股
dzp,3,专线
zdp,1,一股
zdp,2,三股
.
.
.
tab2
zmlm,gdm,cid
dzp,1,12342
dzp,1,32145
dzp,2,43221
dzp,3,5322
dzp,3,53322
dzp,3,2345
zdp,1,9332
zdp,2,8987
zdp,2,9877
zdp,3,9991
.
.
.
tab3:
cid,a1,a2,a3……
12342,21,21,c……
32145,32,43,p……
43221,22,32,g……
5322,43,54,p……
53322,32,43,p……
.
.
.从tab1中选取zmlm,gdm,通过这两个字段从tab2中选取cid,
可能有n条记录。再从tab3中汇总符合此cid的其它字段。
要求下列结果:
zmlm,gdhzm,result
dzp,一股,c_1,p_1
dzp,二股,g_1
dzp,三股,p_2
意思是:result 字段的结果是汇总出来的,c_1表示由tab1表
中zmlm=dzp和gdm=1为条件从tab2中查询cid,有两条记录为
cid=12342和cid=32145,再从tab3中查询这两个cid,并分别
汇总a3字段,表示有一个c,有一个p,下同。
并希望在dbgrid中显示出来。
请大侠帮忙。还可以加分,在线等待……
tab1关键字段:zmlm,gdm,gdhzm
tab2关键字段:zmlm,gdm,cid
tab3关键字段:cid,a1,a2,a3……
关系:tab1中zmlm和gdm共同确定一唯一记录;
tab2中cid确定唯一记录,zmlm,gdm有重复;
tab3中cid唯一确定一条记录;
如:tab1
zmlm,gdm,gdhzm
dzp,1,一股
dzp,2,二股
dzp,3,专线
zdp,1,一股
zdp,2,三股
.
.
.
tab2
zmlm,gdm,cid
dzp,1,12342
dzp,1,32145
dzp,2,43221
dzp,3,5322
dzp,3,53322
dzp,3,2345
zdp,1,9332
zdp,2,8987
zdp,2,9877
zdp,3,9991
.
.
.
tab3:
cid,a1,a2,a3……
12342,21,21,c……
32145,32,43,p……
43221,22,32,g……
5322,43,54,p……
53322,32,43,p……
.
.
.从tab1中选取zmlm,gdm,通过这两个字段从tab2中选取cid,
可能有n条记录。再从tab3中汇总符合此cid的其它字段。
要求下列结果:
zmlm,gdhzm,result
dzp,一股,c_1,p_1
dzp,二股,g_1
dzp,三股,p_2
意思是:result 字段的结果是汇总出来的,c_1表示由tab1表
中zmlm=dzp和gdm=1为条件从tab2中查询cid,有两条记录为
cid=12342和cid=32145,再从tab3中查询这两个cid,并分别
汇总a3字段,表示有一个c,有一个p,下同。
并希望在dbgrid中显示出来。
请大侠帮忙。还可以加分,在线等待……
解决方案 »
- 只在任务栏里显示有进程,却不显示主窗体
- 请教!我的画布变色啦!
- 两个打印机同时打印
- 关于StringGrid,帮忙看看
- 我的程序是在1024*768在下做的,到了800*600有一些按扭就被遮了。
- 存一个图像到数据库中
- Mediaplayer1的函数调用问题
- 使用TDCOMConnection组件时如何注册?
- idtcpclient "socket Error #10054 Connecton reset by peer" 是不是不可避免的出现 错误捕获不到
- (大虾救我)报表问题:如何能够在同一页显示两组数据。
- 如何实现文件拷贝?
- 如何将网络邻居中所有计算机名称放入listbox或ComboBox?
where d.cid=f.cid result 這個字段是什麼意思暫不明
,a.gdm
,b.cidfrom table1 as a
right outer join table2 b on a.zmlm=a.zmlm
right outer join table3 c on b.cid=c.cid
where a.gdm=b.gdm
group by a.zmlm,a.gdm,b.cid
from tab1 join
(select zmlm,cid from tab2 join tab3 on tab2.cid=tab3.cid) TmpTab
on tab1.zmlm=TmpTab.zmlm
group by tab1.zmlm,gdhzm