顧客に 4 週間以上誰もコメントしていない場合に、その顧客に関する最後のコメントを取得するクエリを設定する必要があります。以下のクエリを使用して動作させることができますが、何らかの理由でコメント列に最新のレコードが表示されません。代わりに最も古いものを表示しますが、日付は最も新しいものを表示します。私がSQLの初心者だからかもしれませんが、ここで何が間違っているのでしょうか?
SELECT DISTINCT
customerid, id, customername, user, MAX(date) AS 'maxdate', comment
FROM comments
WHERE customerid IN
(SELECT DISTINCT id FROM customers WHERE pastdue='1' AND hubarea='1')
AND customerid NOT IN
(SELECT DISTINCT customerid FROM comments WHERE DATEDIFF(NOW(), date) <= 27)
GROUP BY customerid
ORDER BY maxdate
最初の「WHERE」句は、特定の地域の顧客のみを表示し、「期限切れが有効」であることを確認するだけです。2 つ目は、顧客が過去 27 日以内にコメントされていないことを確認します。これは、個々の顧客に関連付けられている番号であるため、customerid によってグループ化されています。結果が出たら、コメント欄以外はすべて正しいです...何かアイデアはありますか?