0

:)

これが私のテーブル「チャット」です: ID - FROM - TO - MSG - DATE - RECU

$username とチャットしたすべてのユーザーを一覧表示したいと考えています。$username が "FROM" にある場所: (読みやすくするために改行が追加されています)

$sql = "SELECT * 
        FROM chat 
        WHERE chat.from = '$username' AND chat.to != '$username' 
        GROUP BY chat.to 
        ORDER BY chat.to ASC";

$username が "TO" にある場所:

$sql = "SELECT * 
        FROM chat 
        WHERE chat.from != '$username' AND chat.to = '$username' 
        GROUP BY chat.from 
        ORDER BY chat.from ASC";

これらの 2 つのテーブルを一覧表示できるようになりましたが、1 つの要求のみを作成する方法や、それを使用して 1 つのテーブルのみを一覧表示する方法を教えてください。UNION との DISTINCT ???

ありがとうございました!:)

4

1 に答える 1

0

クエリをいくらか単純化してはどうでしょうか。これにより、チャットした、またはチャットしたすべての人のユーザー名がリストされます。

SELECT chat_from buddy FROM chat WHERE chat_to=$username
UNION
SELECT chat_to buddy FROM chat WHERE chat_from=$username
于 2013-07-28T12:56:15.780 に答える