うまくいけば、これは簡単なものです。送信済みメッセージのテーブルと顧客テーブルがあります。顧客に送信された最後のメッセージの日付を取得しようとしていますが、悪夢に悩まされており、何が起きているのかわかりません!!
英語で: 最後の日付が DateX よりも大きく、DateY よりも小さい場合に、顧客が受け取った最後の日付を取得してください。
私のSQLでは:(Msaccess)
SELECT
Max(outgoingmessages.outgoingmessagedatetime),
outgoingmessages.outgoingmessagecustomerID
FROM
outgoingmessages
inner join customers on customers.customerid =
outgoingmessages.outgoingmessagecustomerid
WHERE
(outgoingmessages.outgoingmessagedatetime>#20/Oct/2012#
and
outgoingmessages.outgoingmessagedatetime < #02/Nov/2012# )
and
outgoingmessages.outgoingmessagecustomerID NOT IN (
SELECT incomingMessageCustomerID from incomingmessages
)
GROUP BY
outgoingmessages.outgoingmessagecustomerID;
customerid=32
05/11 にメッセージが送信されたことは知っていますが、クエリはこれを無視し、彼の古い日付を示しているようです。文字通りcustomerID
、最後のメッセージの日付と日付を取得する必要があります。
何か案は?!
================ 更新
「WHERE MAX(outgoingmessagetime) BETWEEN date1 and date2)... と言えれば、このステートメントは機能すると思いますが、MAX の日付は使用できません。おそらくサブクエリが必要ですか?