SQLクエリを介してアクセスデータベースからレコードを取得することに取り組んでいます。origina クエリは、最新の日付データを取得します。しかし、たとえば 2012 年 3 月 3 日にツールを実行したい場合でも、最新のデータが取得されます。しかし、2012 年 3 月 3 日の日付または 2012 年 3 月 3 日に近いが日付を超えない日付のいずれかであるデータが必要です。たとえば、2012 年 3 月 3 日が利用できず、2012 年 3 月 2 日がデータベースで利用できる場合、その日付を選択する必要があります。変更されたクエリを以下に示します。予約語のスペルミスや句読点の間違いなどは例外です。質問を手伝ってもらえますか。クエリでは、切り捨てが私のプログラムから入力されます。私のクエリは次のとおりです。
CString sel = "SELECT I.ProductType, I.Spread, I.DateUpdated FROM MortgageRateSpreads I,(select ProductType, MAX(DateUpdated) AS DateUpdated1"; sel += "where DateUpdated <=" ;
sel += tRunDate.Format(" {ts '%Y-%m-%d' }");
CRecordset set(&pdatabase);
try
{
double val;
CDBVariant var;
if (set.Open(CRecordset::forwardOnly, sel/*, CRecordset::readOnly*/))
{
m_Log->Log("recordset is open");
while (!set.IsEOF())
MY Sel は:
sel "SELECT I.ProductType, I.Spd, I.DateUpdated FROM MRSpds I,(select ProductType, MAX(DateUpdated) AS DateUpdated1where DateUpdated <={ts '2012-02-08' } FROM MRSpds GROUP BY ProductType) T WHERE I.ProductType = T.ProductType AND I.DateUpdated =T.DateUpdated1"
ありがとうございました
{