私は MySQL ステートメントがあまり得意ではないので、洞察を探しています。ユーザーが他の人のページにアクセスしたとします。これにより、ユーザー名がパラメーターとしてスクリプトに送信され、現在のユーザーとユーザーがアクセスしているユーザーのページが友達であるかどうかが確認されます。
私の単純なデータベース構造:
フレンズテーブル--relationship_id, friend1_ID, friend2_ID, status
ACTIVE_USERS テーブル-- id, username, email
...など。
私の現在のSQLステートメントは次のとおりです。
SELECT *
FROM friends
JOIN active_users ON ( active_users.username = '$username' )
WHERE (
friends.friend_1ID = '$current_user_ID'
AND friends.friend_2ID = active_users.id
AND friends.status = 1
)
これは機能しますが、エレガントだとは思いません。2 人が友達の場合は行を返しますが、この行は明らかにユーザー情報行と関係行を結合したものです。関係行を取得したいだけです。これを 2 つのステートメントに分割することは経済的でしょうか? たとえば、ユーザー名を使用して訪問したページのユーザー ID を照会し、2 番目のステートメントでその変数を使用して関係を取得します。または、私が出会ったことのない簡単な構文はありますか? 助けていただければ幸いです。