我是新手~用delphi不过两天~是为了做课设的`现在要做多表查询计算~请教个位大虾!
问题:我用的是delphi6.0,现在要从3个表中分别取一个数据进行乘固定数相加,再添入另一个表中`并按照这个值进行排名。
急急急!!希望大家帮小弟个忙!帮我写下代码~
问题:我用的是delphi6.0,现在要从3个表中分别取一个数据进行乘固定数相加,再添入另一个表中`并按照这个值进行排名。
急急急!!希望大家帮小弟个忙!帮我写下代码~
解决方案 »
- 没有找到COMP32XMOD.DLL,因此这个应用程序未能启动。
- TWebBrowser的简单问题(关于Copy Paste)
- 关于CASE的使用!
- 强烈建议用MSN来交流,放弃QQ!!!MSN可以远程控制,有问题叫人来帮忙,爽!
- delphi6中如何控制Modem
- 跪求delphi中使用Crystalreport水晶报表控件的完整例子
- SQL server能否在一个查询结果中再进行查询?
- 在DELPHI中如何实现指针变量值的改变?
- 装了Delphi6企业版。。ADO还是不让用??
- 怎么实现透明窗体
- 用delphi的兄第快来帮忙。小弟在线等待。分不够还可以加感谢!!!
- 谁能说说下面的API,或者举些列子,让大家多了解一些
kp(sno,dycgrade)
zhqk(sno,avggrade,mc)
就是上面3个表sc 表里有1号课和2号课现在要进行
avggrade=1号课*0.6+2号课*0.2+dycgrade*0.2
再按照avggrade排名放到zhqk表中
我在线等~谢谢了
95001 2 70
95002 1 60
95002 2 50
kp表 sno dycgrade 95001 80
95002 70
zhqk表是空表~等添数据的
sno avggrade mc
select sno,sum(grade) from group by sno不知行不行。
还要有乘的啊`有什么好方法吗?》
(select c.sno,sum(c.q1) as q2 from (select sno,case cno
when '1' then grade*0.6
when '2' then grade*0.2
else 0
end as q1 from sc) c group by c.sno) a,
(select sno,(dycgrade*0.2) q3 from kp) b where a.sno=b.sno
后面你应会了吧,可以给分了吧
var
vi:float;
tkp.open;
tzhqk.open;
query1.close;
query1.sql.clear;
query1.sql.add('select distinct sno from sc');
query1.open;
while not query1.eof do
begin
query2.close;
query2.sql.clear;
query2.sql.add('select * from sc where sno='''+query1['sno']+'''');
query2.open;
while not query2.eof do
begin
if query2['cno']=1 then
vi:=vi+query2['grade']*0.6;
if query2['cno']=2 then
vi:=vi+query2['grade']*0.2;
query2.next;
end;
tkp.locate('sno',query1['sno'],[]);
vi:=vi+tkp['dycgrade']*0.2;
if tzhqk.locate('sno',query1['sno'],[]) then
tzhqk.edit
else
tzhqk.append;
tzhqk['sno']:=query1['sno'];
tzhqk['avggrade']:=vi;
tzhqk.post;
query1.next;
end;