在DELPHI中如何实现类似FOXPRO中的TOTAL功能(20分)

  • 主题发起人 主题发起人 zqqxh
  • 开始时间 开始时间
Z

zqqxh

Unregistered / Unconfirmed
GUEST, unregistred user!
请教, 在DELPHI中如何实现类似FOXPRO中的TOTAL功能。
例如: 有一个图书管理系统, 有如下两个库:
TABEL1:
日期     借书证号   图书编号
4.28 001 1234
4.28 001 1235
4.28 002 1234
4.29 001 1236
4.29 002 1235
4.29 001 1234

tabel2:
图书编号   图书名称
1234 DELPHI大全
1235     C++编程
1236     FOXPRO基础 

请问如何通过SQL语句, 实现一个主从表:
各本书有什么人借阅过:
即:1234有001、002借过,1235有001、002借过,1236有001借过。
其中主表图书编号(1234、1235、1236)不能重复,而从表借书证号
也不能重复(如1234不能对应001、002、001)
 
怎么没有大侠帮忙? 多少也说一此建议好吗?
 
这样搞定
mastersource1.dataset:=masterquery1;
masterquery1.sql.text:='select distinct 图书编号,图书名称 from table2';
detailquery1.masterdatasource:=mastersource1;
detailquery1.sql.text:=select distinct 图书编号,借书证号 from table1 where 图书编号=:图书编号';
 
用一条SQL语句就能搞定,要用rollup关键字。
 
to gong666:我没有听过rollup, 是group by吧? 但我不会用, 我是这样写的:
'select * from table1 group by 借书证号'
但老是提示出错:
提示:When GROUP BY exists, every simple field in projectors must be in
GROUP BY.
我不知是什么意思.
你可以给我写出正确的SQL语句吗?

TO weekboy: 你这方法没有达到我想要的目的. 我是想要将TABLE1按'借书证'分类后,
作为主库, 而TABLE2作为从库显示书名. 关键是如何将TABLE1按'借书证'分类.

 
哦, 原来是这样:
'select 借书证号 from table1 group by 借书证号'
可以搞定!
多谢 gong666 和 weekboy 对我的启发 问题结束了, 给两位大侠送上分.
 

Similar threads

D
回复
0
查看
2K
DelphiTeacher的专栏
D
D
回复
0
查看
1K
DelphiTeacher的专栏
D
后退
顶部