私の「友達」テーブルには次の列があります: id、userID、userID2、state
userID と userID2 には、データベースに入れられる特定の順序はありません。
現在、このクエリを使用してユーザーの友達を見つけています。
$quer = mysql_query("
SELECT CASE WHEN userID=$id THEN userID2 ELSE userID END AS friendID
FROM friends WHERE userID=$id OR userID2=$id");
私はこれを試しましたが、うまくいきません:
SELECT
CASE WHEN userID=$id OR userID=$session THEN userID2
ELSE userID END AS friendID
FROM friends WHERE (userID=$session OR userID2=$session)
AND (userID=$id OR userID2=$id) AND friendID!=$session
また、friendID=$session (2 番目のクエリに追加した) の場合、行を返すべきではありません。
EDIT : $id と $session が共通している friendID 行として返したいと思います。なぜ機能しないのか正確にはわかりません。