次のテーブルがあります。
users: id, username, password, created, modified
posts: id, user_id, message, created, modified
今日作成された最後の 5 件の投稿 (および投稿者のユーザー名) を取得するクエリを実行しようとしています。次のクエリを実行すると:
SELECT users.username, posts.*
FROM postsLEFT OUTER JOIN users ON (posts.user_id=users.id)
WHERE (DATE(`posts.created`) = DATE(NOW()))
ORDER BY posts.created DESC
LIMIT 5
メッセージが表示されます:
「where句」の不明な列「posts.created」
クエリの他の部分の前に where が実行されることを理解しています。それで、私はこのクエリを試します:
SELECT users.username, posts.*
FROM postsLEFT OUTER JOIN users ON (posts.user_id=users.id)
WHERE (DATE(`created`) = DATE(NOW()))
ORDER BY posts.created DESC
LIMIT 5
しかしもちろん、私はメッセージを受け取ります:
where句の列が「作成されました」があいまいです
問題がないようにクエリを変更する方法について何か提案はありますか?