有这样两张表,如何相加并排序(20分)

  • 主题发起人 主题发起人 ifcansee
  • 开始时间 开始时间
I

ifcansee

Unregistered / Unconfirmed
GUEST, unregistred user!
有这样两张表
结构和字段都一样,大概是这样的
第一张表
name date time succ seiz
a 20801 1 123 456
a 20801 2 33 47
a 20801 3 14 48
a 20801 4 45 65
a 20801 5 69 45
a 20801 6 16 69
a 20801 7 69 48
。。。。。。。
第二张表
name date time succ seiz
a 20801 1 23 44
a 20801 2 133 547
a 20801 3 147 485
a 20801 4 451 165
a 20801 5 693 445
a 20801 6 16 69
a 20801 7 69 48
。。。。。。。
怎样得到这样的结果
name date time succ seiz
a 20801 1 表一+表二的succ,seiz值
a 20801 2
a 20801 3
a 20801 4
a 20801 5
a 20801 6
a 20801 7
。。。。。。。


 
试试看 :

select
table1.name,table1.date,table1.time,
table1.succ +table2.succ,
table1.seiz + table2.seiz
from table1,table2

group by (time) 不知道对不对
 
group by time是不行的,也许是我没有说清楚,再说明一下:
需要将name,date,time三个字段相同的纪录,后边的succ,seiz字段数值相加
得到结果是
name date time table1.succ+table2.succ table1.seiz+table2.seiz
 
table1.first;
for i:=1 to table1.Goods_Table do
begin
UPDATE 表一 SET succ=(table1.fieldbyname('succ').asinteger +table2.fieldbyname('succ').asinteger ) WHERE 限制条件
table1.next;
end;
简要的
 
select table1.name,
table1.date,table1.time,
table1.succ +table2.succ,
table1.seiz + table2.seiz
from table1,table2
where table1.date=table2.date and table1.time=table2.time
 
select distinct table1.name,table1.date,table1.time,table1.succ +table2.succ,table1.seiz + table2.seiz
from table1,table2
where table1.name=table2.name
and table1.date=table2.date
and table1.time=table2.time
order by table1.name,table1.date,table1.time
 
select table1.name,
table1.date,table1.time,
table1.succ +table2.succ,
table1.seiz + table2.seiz
from table1,table2
where table1.date=table2.date and table1.time=table2.time order by time
 
上面的方法都忘记了一点:
当t1,t2中互相都有对方不存在的记录时,这些记录将被忽略。
可以试试下面的方法:
select t1.name,t1.date,t1.time,t1.succ+t2.succ as succ1,t1.seiz+t2.seiz as seiz1
from t1 left join t2
on t1.name=t2.name and t1.date=t2.date and t1.time=t2.time
union
select name,date,time,succ as succ1,seiz as seiz1 from t2
where not exists
(
select * from t1 where t1.name=t2.name and t1.date=t2.date and t1.time=t2.time
)
 
多人接受答案了。
 

Similar threads

S
回复
0
查看
1K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
890
SUNSTONE的Delphi笔记
S
S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
D
回复
0
查看
2K
DelphiTeacher的专栏
D
后退
顶部