このSQLクエリは完全に機能していました。データベースにいくつかの小さな変更を加えて再実行すると、動作が停止しました。
ここでの私の目標は、と結合することですがmaster_followups
、最も最近結合されたfollowups_fb_messages.message_text
UIDごとに1つの行のみを返します。master_followups
followups_fb_messages.message_text
SELECT master_followups.*,
followups_fb_messages.message_text,
followups_fb_messages.message_time
FROM
master_followups
LEFT JOIN followups_fb_messages
ON master_followups.UID = followups_fb_messages.FID
AND followups_fb_messages.message_time =
(SELECT
MAX(followups_fb_messages.message_time)
FROM followups_fb_messages
WHERE followups_fb_messages.FID = master_followups.UID
)
私はこの1時間何が起こったのかを理解しようとしてきました。
期待どおりに100の結果を返す代わりに、これは340を返します。データベースを確認したところ、100行master_followups
と340行が表示されていfollowups_fb_messages
ます。
この正確なクエリは約1時間前に正常に機能していましたが、その後停止しました。何かを変えたのかもしれませんが、見えません。