0

誰かが私を助けてくれることを望んでいた、ちょっとした問題があります。

次の列を持つテーブル(メッセージ)があります

user_one
user_two
ip
time
user_one_deleted
user_two_deleted

したがって、基本的に私がする必要があるのは、私のIDがuser_oneまたはuser_twoフィールドにあるかどうかを確認することです..私のIDがuser_oneフィールドにある場合は、user_one_deleted = 0であるかどうかを確認し、結果を返します。それが= 1の場合それをスキップします.....私のIDがuser_twoフィールドにある場合は、user_two_deleted = 0であるかどうかを確認してから結果を返し、= 1の場合はスキップします。

これが理にかなっているといいのですが、頭を悩ませようとしていますが、MySQLの経験はあまりありません。

どんな助けでも大歓迎です。

乾杯、

4

2 に答える 2

3

試す:

SELECT *
FROM   messages
WHERE ( user_one = yourid AND user_one_deleted = 0 )
   OR ( user_two = yourid AND user_two_deleted = 0 )  
于 2013-06-14T15:04:26.253 に答える
2

私には実行可能に聞こえます。チェックしたいIDが$idに保存されていると仮定すると、これはうまくいくはずです:

"SELECT * FROM messages
    WHERE ( `user_one` = $id AND `user_one_deleted` = 0 )
    OR ( `user_two` = $id AND `user_two_deleted` = 0 );"

そのクエリを実行すると、結果が得られるはずです。

于 2013-06-14T15:05:03.707 に答える