0

私はテーブル「メッセージ」を持っています。

フィールドは次のとおりです。

- id (primary key, int, auto increment)
- uid (the user who sent the message)
- rid (the user who received the message)
- text (text of the message)
- time (time of message)
- read (read or unread. 0 is unread, 1 is read).

ユーザーとして言えば、私は UID または RID のいずれかになります。では、メッセージを送受信したユーザーのリストを表示したい場合は、どうすればよいですか? さらに、各ユーザーは一度だけ表示する必要があります。助けてください。ありがとう。:)

4

2 に答える 2

2

これを行う 1 つの可能な方法は、UNION (UNION ALL ではなく) を使用して、重複する行が削除されるようにすることです。

SELECT uid FROM messages WHERE rid = 'me'
UNION
SELECT rid FROM messages WHERE uid = 'me'
于 2012-12-25T08:40:36.520 に答える
0

テーブルのデザインはこんな感じだと思いますが、

ID | UID | RID |TEXT |TIME | READ

だから、あなたのテーブルのデザインに応じて、これを使うことができると私は信じています

SELECT * FROM messages WHERE rid = 'me' OR uid='me'
于 2012-12-25T08:45:57.697 に答える