次のクエリを作成しました。
(選択する
privatemsgs.id、
privatemsgs.useradn、
privatemsgs.useraid、
privatemsgs.title、
privatemsgs.created、
privatemsgs.timee、
privatemsgs.isread、
u.photo AScreatorphoto、
privatemsgs.relatedto
FROM privatemsgs
左参加
ユーザーASuON(privatemsgs.useraid = u.id)
WHERE userbid = '5'
AND relatedto=0およびbdel=1)
ユニオンオール
(選択する
privatemsgs.id、
privatemsgs.useradn、
privatemsgs.useraid、
privatemsgs.title、
privatemsgs.created、
privatemsgs.timee、
privatemsgs.isread、
u.photo AScreatorphoto、
rel.relatedto
FROM privatemsgs AS rel
JOIN privatemsgs ON(rel.relatedto = privatemsgs.id)
左参加
ユーザーASuON(rel.useraid = u.id)
WHERE rel.userbid = '5')
GROUP BY ID
時間で注文DESC
このクエリは、テーブルからすべてのPrivatemsgsを選択し、メールのように動作します。
ユーザーbにメッセージを送信し、ユーザーbが応答した場合。各ユーザーの受信トレイと送信トレイにメッセージを表示したい。
メインメッセージのIDに「関連」としてマークされたプライベートメッセージへのコメント。
クエリは機能しますが、表示されているメッセージを複製します(同じメッセージが何度も表示されます)。修正するために「GROUPBY id」を実行しようとしましたが、エラーが発生しました。
#1064-SQL構文にエラーがあります。'GROUP BY id ORDER BY timee DESC'の近くで使用する正しい構文については、MySQLサーバーのバージョンに対応するマニュアルを確認してください。
ありがとうございました!!