0

データベースXは2つのテーブルを保持します。メッセージテーブル。

Message table:
Message_id     User_id     Posted_date            Message
1              141         2012-05-05 05:21:21    Hello
2              441         2012-05-05 05:25:21    How are you?
3              12          2012-05-07 05:25:21    How's it going?

そしてユーザーテーブル

User table
User id        User name
12             Arthur
141            Boris
441            Andrew

PHPスクリプトを使用して、Webサイトのメッセージテーブルからデータをプルおよびエコーしています。これにより、最後のX個のメッセージが表示されます。ただし、ご覧のとおり、メッセージテーブルには、メッセージに沿って表示する必要のあるユーザー名は含まれていません。ある種の結合コマンドを使用する必要があることはわかっていますが、phpスクリプトが次のようにエコーするために適切にフォーマットする方法がわかりません。

User name | Date
Message

このクエリリクエストをフォーマットする方法がわかりません。上記のデータを使用して、誰かが私に例を教えていただければ幸いです。

さて、最後に、15分に1回だけ情報を更新する必要があるので、多くの人がそれを表示しても、サーバーに不必要なストレスを与えることはありません。PHPで利用できるキャッシュオプションは何ですか?

4

2 に答える 2

0
SELECT M.Message, M.Posted_date, U.User_name FROM Message as M INNER JOIN USER
as U ON M.User_id=U.User_id ORDER BY M.Posted_date DESC LIMIT 10

それが役立つことを願っています。

編集。

キャッシングは、この種のクエリではやり過ぎのように思えますが、それでも非常に幅広いトピックです。

編集。

コメントごとに上記を参照してください

于 2012-11-30T17:05:38.503 に答える
0

これを行うために使用できますLEFT JOIN

SELECT M.Message, M.Posted_date, U.User_name FROM Message as M LEFT JOIN USER
as U ON M.User_id=U.User_id
于 2012-11-30T17:15:56.190 に答える