使用join更新min max date

时间:2013-03-09 13:05:00

标签: sql sql-update

我有2个表CONT和CUMU,这两个表有相同的字段名为RAPP(txt属性)

在CONT中有一个名为DATA的文件(日期简称)

在CUMU有一个字段DAL(FROM in english)和一个字段AL(TO in english)

在RAPP上加入,我需要从CONT.DATA中提取最小和最大日期,并在AL中插入最小日期值和在AL中插入最大日期值

如何使用查询?

请注意; 我使用ADO,Access数据库和vb6经典

1 个答案:

答案 0 :(得分:0)

您可以编写查询来更新所有记录:

UPDATE
  CUMU, CONT
SET 
  CUMU.DAL = (SELECT DISTINCT MIN(CONT.DATA) FROM CONT WHERE CONT.RAPP = CUMU.RAPP),
  CUMU.AL = (SELECT DISTINCT MAX(CONT.DATA) FROM CONT  WHERE CONT.RAPP = CUMU.RAPP)
WHERE 
  CONT.RAPP = CUMU.RAPP;

亲自尝试:sqlfiddle

它没有特别优化,但对于相对较小的数据集,它应该足够了。