我試圖選擇使用查詢這樣選擇MAX日期T-SQL子查詢
SELECT pminf_member, pminf_schmem
, pminf_date, pminf_fund
, pminf_cont, pminf_rate
, pminf_matrix
FROM pe_minvf
WHERE (pminf_member = 4380)
AND (pminf_schmem = 'M')
AND (pminf_date <= '03/30/2011')
AND (pminf_date =
(SELECT MAX(pminf_date) AS Expr1
FROM pe_minvf AS pe_minvf_1
WHERE (pminf_member = 4380)
)
)
AND (pminf_fund = 'LIFESTYLE')
我應該從我的子查詢(我認爲)越來越被的01日期表中的行/ 01/2011「,但是當我運行我的查詢時,我沒有收到任何結果。
如果我用硬編碼日期替換子查詢,我會得到正確的返回行。例如
SELECT pminf_member, pminf_schmem
, pminf_date, pminf_fund
, pminf_cont, pminf_rate
, pminf_matrix
FROM pe_minvf
WHERE (pminf_member = 4380)
AND (pminf_schmem = 'M')
AND (pminf_date <= '03/30/2011')
AND (pminf_date = '01/01/2011')
AND (pminf_fund = 'LIFESTYLE')
該查詢返回正確的結果。
任何想法爲什麼子查詢沒有返回最大日期或者如果是,爲什麼我沒有返回行?
感謝, 特里斯坦
你怎麼得到它你單獨運行子查詢? – Fillet 2011-03-30 11:42:01
我不明白這些條件:... AND(pminf_date <= '03/30/2011')AND(pminf_date = '01/01/2001') - 永遠不要想 - 但我不能刪除這條評論。所以不會讓我。 – Tim 2011-03-30 11:55:06
如果我自己運行子查詢,我會得到正確的返回日期。 – TGuimond 2011-03-30 11:58:35