2010-04-27 75 views
0

我試圖從MS Access中內置的兩個單獨的SQL查詢的結果中獲取AVERAGE。第一個SQL查詢拉動最大的唱片:獲取兩個SQL Access查詢的AVG

SELECT DISTINCTROW Sheet1.Tx_Date, Sheet1.LName, Sheet1.Patient_Name, Sheet1.MRN, 
    Max(Sheet1.) AS [Max Of FEV1_ACT], 
    Max(Sheet1.FEF_25_75_ACT) AS [Max Of FEF_25_75_ACT] 
FROM Sheet1 
GROUP BY Sheet1.Tx_Date, Sheet1.LName, Sheet1.Patient_Name, Sheet1.MRN; 

第二個SQL查詢拉動第二大紀錄:

SELECT Sheet1.MRN, Sheet1.Patient_Name, Sheet1.Lname, 
    Max(Sheet1.FEV1_ACT) AS 2ndLrgOfFEV1_ACT, 
    Max(Sheet1.FEF_25_75_ACT) AS 2ndLrgOfFEF_25_75_ACT 
FROM Sheet1 
WHERE (((Sheet1.FEV1_ACT)<(SELECT MAX(FEV1_ACT) 
       FROM Sheet1))) 
GROUP BY Sheet1.MRN, Sheet1.Patient_Name, Sheet1.Lname; 

這兩個查詢工作的偉大,我只是需要拉動的的AVERAGE一些幫助這兩個查詢的結果合爲一體。謝謝。

回答

0

如何

SELECT Avg(FEV1_ACT) FROM 
    (SELECT Top 2 FEV1_ACT FROM Sheet1 ORDER BY FEV1_ACT DESC) 
+0

感謝Remou,這實際上是一個巨大的幫助!運行這個查詢,是否阻止我拉動其他字段,或者我只能得到這個值? – user326856 2010-04-27 13:45:44

+0

您可以獲得其他字段,ORDER BY控制前兩個字段。請注意,如果行具有相同的值,TOP n將選擇多於n。如果您需要其他字段,則它們必須位於GROUP BY或類似於外部查詢中。 – Fionnuala 2010-04-27 14:24:27

0

聯合這些查詢和平均記錄

select avg(select field from table1 union select field from table2) 
+0

試過了。我得到「此操作不允許在子查詢中」錯誤。 – user326856 2010-04-27 13:17:04