使用Microsoft Query SQL选择和导入与最近日期相关的数据

时间:2012-10-12 19:13:58

标签: sql oracle odbc maxdate ms-query

我正在尝试修改我创建的Microsoft Query中的当前SQL代码,以返回在井上执行的最新生产测试。现在,对于[井参数=井#1],下面的查询返回从[日期参数= 01/01/08]到现在的任何井的测试列表。另外,为了获得我需要的所有数据,我必须加入两个表,一个是井名,一个是生产数据,两个都包含一个我加入的唯一井#。

SELECT 
P.TEST_DT, P.BOPD, P.BWPD, P.MCFD
FROM 
WELL_TABLE C, PRODTEST_TABLE P
WHERE 
C.UNIQUE_WELL_ID = P.UNIQUE_WELL_ID 
AND ((C.WELL_NAME=?) 
AND (P.TEST_DT>=?))
ORDER BY P.TEST_DT DESC

现在我的表看起来像这样:

TEST_DT    P.BOPD  P.BWPD  P.MCFD
9/23/2012  23      125    0
8/23/2010  21      137    0
7/15/2009  29      123    0

我想回到最近的测试:

TEST_DT    P.BOPD  P.BWPD  P.MCFD
9/23/2012  23      125     0

任何帮助将不胜感激...... 我尝试过使用max(TEST_DT)但是没有成功。

1 个答案:

答案 0 :(得分:0)

SELECT tab.* 
  FROM (SELECT P.TEST_DT, P.BOPD, P.BWPD, P.MCFD
          FROM  WELL_TABLE C, PRODTEST_TABLE P
         WHERE C.UNIQUE_WELL_ID = P.UNIQUE_WELL_ID 
           AND C.WELL_NAME=?
         ORDER BY P.TEST_DT DESC) tab
 WHERE ROWNUM=1;