プライマリ メッセージとサブメッセージを含むことができるメッセージ テーブルがあります。私が達成したいのは、上位2つの最新のサブメッセージのみを取得することです。
SELECT message.id, message.date_sent,message.object_id, message.content,
SubMessage1.content, SubMessage1.id, SubMessage1.date_sent,
SubMessage2.content, SubMessage2.id, SubMessage2.date_sent
FROM messages As Message
LEFT
OUTER
JOIN ( SELECT messages.object_id as object_id, messages.content as content,
messages.id as id , messages.date_sent as date_sent
FROM messages
ORDER
BY messages.date_sent ASC LIMIT 1,1
) as SubMessage1
ON Message.id = SubMessage1.object_id
LEFT
OUTER
JOIN ( SELECT messages.object_id as object_id, messages.content as content,
messages.id as id , messages.date_sent as date_sent
FROM messages
ORDER
BY messages.date_sent ASC LIMIT 2,1
) as SubMessage2
ON Message.id = SubMessage2.object_id
WHERE Message.id = 1
制限を削除すると、常に最初の結果が得られます。しかし、制限を入れると、null 値が得られます。何か案は?提案?