1

我正在尝试修改我创建的 Microsoft Query 中的当前 SQL 代码,以返回在井上进行的最新生产测试。现在,下面的查询返回从 [Date Parameter=01/01/08] 到现在 [Well Parameter= Well#1] 的任何井的测试列表。此外,为了获得我需要的所有数据,我必须连接两张表,一张带有井名,一张带有生产数据,并且都包含一个唯一的井#,我将其加入。

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
2012 年 9 月 23 日 23 125 0
2010 年 8 月 23 日 21 137 0
2009 年 7 月 15 日 29 123 0

我只想返回最近的测试:

TEST_DT P.BOPD P.BWPD P.MCFD
2012 年 9 月 23 日 23 125 0

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

4

1 回答 1

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;
于 2012-10-12T21:49:02.263 回答