2013-09-27 127 views
1

我正在使用Oracle數據庫11g編寫腳本。SQL - 從子查詢中檢索字段

我目前有幾個嵌套的子查詢。我需要從這些子查詢中檢索一個字段,但遇到一些困難。 我的劇本目前是:

SELECT a.PARTY_ID, a.PARTY_NAME, a.STATUS 
     ,a.OBJECT_VERSION_NUMBER, a.PARTY_NUMBER 
FROM HZ_PARTIES a 
WHERE a.PARTY_TYPE = 'ORGANIZATION' 
AND  a.STATUS = 'A' and a.party_id = 4402 
AND  a.CREATED_BY_MODULE IN ('HZ_CPUI','TCA_V1_API','TCA_FORM_WRAPPER') 
AND  (a.PARTY_ID IN (SELECT b.PARTY_ID FROM HZ_CUST_ACCOUNTS b 
      WHERE b.CUSTOMER_TYPE = 'R' 
      AND b.CUST_ACCOUNT_ID IN (SELECT c.BILL_TO_CUSTOMER_ID FROM RA_CUSTOMER_TRX_ALL c 
        WHERE c.BILL_TO_CUSTOMER_ID IS NOT NULL 
        AND c.LAST_UPDATE_DATE < SYSDATE-100))) 

我想選擇的最後一個嵌套子查詢的字段「LAST_UPDATE_DATE」(的RA_CUSTOMER_TRX_ALL表)。 我試圖在SELECT部分​​包含一個select子查詢。和FROM部分,但不能將其鏈接到子查詢的最後部分。 任何人都可以協助嗎? 乾杯, RussH。

回答

1

未經檢驗的贓物。根據您的數據,您可能需要刪除重複項:

SELECT a.PARTY_ID, a.PARTY_NAME, a.STATUS 
     ,a.OBJECT_VERSION_NUMBER, a.PARTY_NUMBER, c.last_update_date 
FROM HZ_PARTIES a JOIN hz_cust_accounts b 
         ON b.customer_type = 'R' 
          AND a.party_id = b.party_id 
        JOIN ra_customer_trx_all c 
         ON b.cust_account_id = c.bill_to_customer_id 
          AND c.last_update_date < SYSDATE-100 
WHERE a.PARTY_TYPE = 'ORGANIZATION' 
AND  a.STATUS = 'A' and a.party_id = 4402 
AND  a.CREATED_BY_MODULE IN ('HZ_CPUI','TCA_V1_API','TCA_FORM_WRAPPER') 
+0

謝謝DCookie。這很好。我在額外的一行中添加了重複項。 和c.last_update_date =(從ra_customer_trx_all e中選擇max(e.last_update_date),其中e.bill_to_customer_id = c.bill_to_customer_id) – RussH