to_id
特定のメッセージに対して aと a の両方を持つメッセージ テーブルがありfrom_id
ます。
このクエリに user_id を渡し、指定された user_id との間でメッセージを送受信するユーザーを表す、重複しない ID のリストを返すようにしたいと考えています。
私が今持っているのは(ターゲットuser_idとして12を使用)です:
SELECT from_id, to_id
FROM messages
WHERE
from_id = 12
OR
to_id = 12
これは、そのuser_idが存在するすべてのレコードを返しますが、重複していないレコードのみを返す方法と、12ではないuser_idになる1つのフィールドのみを返す方法がわかりません.
つまり、ユーザー 12 が既存のメッセージ レコードを持つすべてのユーザーの ID を返します。
これについては十分に説明できたと思いますが、まだ学んでいないことは比較的単純であると信じなければなりません。
編集 :
現在の SQL には 2 つのフィールドがありますが、1 つのフィールドだけを返すように指定する必要がありました --- contact_id。また、重複があってはなりません。
contact_id はメッセージ テーブルのフィールドではありませんが、from_id または to_id のどちらを返すかに関係なく、クエリで返してほしいフィールド名です。