1

ウェルで実行された最新の本番テストを返すために作成したMicrosoftQueryの現在のSQLコードを変更しようとしています。現在、以下のクエリは、[Date Parameter=01/01/08]から[WellParameter= Well#1]までの任意のウェルのテストのリストを返します。また、必要なすべてのデータを取得するには、2つのテーブルを結合する必要があります。1つはウェル名、もう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日231250
2010年8月23日211370
2009年7月15日291230

最新のテストを返したいと思います。

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

どんな助けでも大歓迎です...私は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 に答える