怎么合并数据库中的纪录?(50分)

  • 主题发起人 主题发起人 DreamTiger
  • 开始时间 开始时间
D

DreamTiger

Unregistered / Unconfirmed
GUEST, unregistred user!
有一个数据库a
ID:(自动编号)(主关键词)
SeqID:string;
SeqMatchCount:integer;
有很多条纪录的SeqID是一样的,而SeqMatchCount都为1,
我希望能够把这些记录合并,同时SeqMatchCount是各个
纪录的SeqMatchCount之和。

这个SQL怎么写?
 
select SeqID, sum(SeqMatchCount) from a group by SeqId
 
select DISTINCT * from tablename GROUP BY SeqMatchCount
 
Sql.Add('Select Distinct SeqId,Sum(SeqMatchCount) As SumSeq ')
Sql.Add('From abc Group By SeqId')
 
我的有错. 应该是Pipi的语句加上DISTINCT就可以了.
 
忘了一个条件(刚才急着送人回去,呵呵):
我只想保留SeqMatchCount最大的纪录,
而且,仍然要保存到数据库a中。
 
换一个角度问问吧:
如果我产生一个数据,想把它写到数据库中,如果数据库中已经有
了同样的SeqID,则这个纪录的SubSeqCount加一,否则,增加新数
据。
我现在知道的方法是:
1、Locate('SeqID',sID,[]),然后决定是加1还是新增纪录。
2、Select SeqID,SubSeqCount FROM a WHere SeqID = sID,看
Query是否为空,判断是加1还是新增纪录。
我不知道有没有别的方法,可以自动判断库中是否有了这个SeqID,
自动决定是加1还是新增纪录。
 
select count(*)as nn from yourtable where seqid := yourseqid;
if nn = 0 then
insert
else
update;
 
什么数据库? 如果是access可能有办法, 别的数据库我就不太清楚了.
 
cAKK:呵呵,听了你的建议,我也用Diamand+Access开发了。
 
Diamand是什么东东?
 
如果是用access数据库,查阅access的帮助中关于"子查询"的部分.
其中IN的子查询可能对你游泳.
 
多人接受答案了。
 
后退
顶部