2
このトピックに関する多くの質問と回答を読んだことがありますが、私にとっては何かを見つけることができません。PHP MYSQL - 異なる複数の列を1つとして
私は自分のウェブサイトに簡単なプライベートメッセージングシステムを作ろうとしています。私はこのようなテーブルを持っている:
private messages: id, to_id, from_id, message, time_sent
私は今ではすべての名前がリストに一度だけ表示されます、メンバーが相互作用し、異なるユーザーで自分のページのリストを表示するには、Facebookのメッセージのような何かをしようとしています。しかし、唯一私が受け取った人々の、
SELECT * FROM private_messages WHERE (from_id = '$Sid' AND to_id = '$my_id') OR (from_id = '$my_id' AND to_id = '$Sid') ORDER BY time_sent ASC
このクエリdistinctedリストを示しています
この
は私が私に私のユーザー($ my_id)としての参加すべてのメッセージを示しており、今持っているものです以下からのメッセージ:それは私が(Facebookのメッセージのリストのような)と相互作用するすべてのユーザーの明確なリストを与えるようSELECT DISTINCT(from_id) FROM private_messages WHERE to_id='$my_id' ORDER BY time_sent DESC
は、どのように私はこれを書き換える必要がありますか? from_idとto_idの2つの列で区別する必要があると思いますが、どうすればいいですか?
私は質問がかなり曖昧に聞こえることを知っていますが、私は本当にこれ以上説明できません。前もって感謝します!
が閉じ括弧が欠落していませんか? :SELECT DISTINCT(IF(from_id = '$ my_id'、to_id、from_id)AS other_id)FROM .... –
@TomK。発言をありがとう。これはタイプミスでした。 'DISTINCT'は関数ではないので、括弧は必要ありません。 –
あなたは正しいです、何かが見当たらないことを見ました...あなたは大歓迎です。 –