ユーザーのフレンドリストを返そうとしていますが、user_idに一致する値を収集しようとしています。ここで値に応じて行の異なる列を選択
| ID | user1_id | user1_status | user2_id | user2_status |
| 1 | 1 | 0 | 2 | 0 |
| 2 | 4 | 1 | 5 | 1 |
| 3 | 4 | 1 | 6 | 0 |
| 4 | 1 | 0 | 4 | 1 |
は、私が持っている問題であり、私が探していた値は、いずれかの「user1_id」/「user2_id」にすることができ、その後、私は他のユーザーのための「USER_STATUS」を返す必要があります。 n。私はこのテーブルを本当にシンプルにしました。私のバージョンでは、サーバが復帰しないようにもっとたくさんのカラムがあります。
クライアントuser_idが4なので、user1_id/user2_idが4のすべての行を選択して、他の人user_statusを返す必要があるとします。この表では、値が4の最初のケースがuser1_idにあり、その行がuser2_idとuser2_statusを返す必要があります。ここで
は、私がこれまで持っているものですが、それは動作しません:
mysqli($connect, "
SELECT `id`
CASE
WHEN `user1_id`='4' THEN `user2_id` AND `user2_status`
WHEN `user2_id`='4' THEN `user1_id` AND `user1_status`
ELSE NULL
END
from 'relationship'
where `user1_id`='4' OR `user2_id`='4'
")
私はこのクエリ文を書くにはどうすればよいですか?
なぜPHPタグがありますか? –
私はこれをPHPでクエリしているので、取り除くべきですか? – toastext
この質問は、SQLに関するもので、PHPタグ –