Я пытаюсь ВЫБРАТЬ строки из таблицы, используя запрос, подобный этому
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')
Этот запрос возвращает правильные результаты.
Любые идеи, почему подзапрос не возвращает максимальную дату или, если это так, почему я не получаю строк назад?
Спасибо, Тристан