2つのテーブルがあり、1つはすべてのデータを持ち、もう1つはコメントのリストを持ち、データテーブルの各行に最新のコメントをロードする必要があります。ここでは、それはSQL - すべての行の最新のコメントを返します。
表のように見える方法は次のとおりです。queries
id | name |
--------------------
1 | John Doe |
2 | Jane Doe |
3 | Alex Smith |
表:messages
id | queriesId | comment | dateAdded |
--------------------------------------------------------
1 | 1 | Comment 1 | 2016-06-12 15:00:08 |
2 | 1 | Commetn 2 | 2016-06-12 15:01:08 |
3 | 2 | Comment 3 | 2016-06-12 15:05:35 |
4 | 2 | Comment 4 | 2016-06-12 15:06:35 |
私はこのコード
を試みた結果がこのid | name | comment | dateAdded |
--------------------------------------------------------
1 | John Doe | Commetn 2 | 2016-06-12 15:01:08 |
2 | Jane Doe | Comment 4 | 2016-06-12 15:06:35 |
3 | Alex Smith | Null | Null |
に見えるようにしたいです
SELECT
a.*,
b.comment,
b.LastComment
FROM
queries a
LEFT JOIN
(
SELECT
`comment`,
MAX(dateAdded) LastComment,
queriesid
FROM
messages
GROUP BY
queriesid
) b ON a.id = b.queriesid
GROUP BY
a.id
が、私が得る結果は、この
id | name | comment | dateAdded |
--------------------------------------------------------
1 | John Doe | Commetn 1 | 2016-06-12 15:01:08 |
2 | Jane Doe | Comment 3 | 2016-06-12 15:06:35 |
3 | Alex Smith | Null | Null |
あるだから唯一の問題は、コメントが最初のエントリではなく日時列値に対応するものです。私は多くの変更を試みましたが、動作していないようです。私はそれが作業から少し微調整だと確信していますが、私はそれを見つけるように見えることはできません。
アイデア?
ような? mysqlまたはsqlサーバー? –
'\' comment \ ''のバックティックはMySQLのように見えます。 –
申し訳ありません、両方のタグを選択してはいけません。これはmysqlです – VeeK