このようなテーブルがあります。
(BIGINT) (BIGINT)
PLAYER_ID FRIEND_ID
----------------------
1 2
2 1
1 3
ビューを次のように作成できると思います
SELECT * FROM FRIEND F1 LEFT OUTER JOIN FRIEND F2 ON F1.FRIEND_ID = F2.PLAYER_ID
印刷
F1.PLAYER_ID F1.FRIEND_ID F2.PLAYER_ID F2.FRIEND_ID
[BIGINT] [BIGINT] [BIGINT] [BIGINT]
------------------------------------------------------------
1 2 2 1
2 1 1 2
1 3 NULL NULL
それらの F2 の存在を表すビューを AS BIT にすることはできますか?
F1.PLAYER_ID F1.FRIEND_ID BACK
[BIGINT] [BIGINT] [BIT]
-------------------------------------
1 2 1 // exist (1 -> 2)
2 1 1 // exist (2 -> 1)
1 3 0 // no backing relation (3 -> 1)
アップデート - - - - - - - - - - - - - - - - - - - - - - - - - -----------------
申し訳ありませんが、上記のクエリは完璧ではありません。
@Romil の回答を含むクエリは、次のように記述する必要があります。
SELECT
F1.PLAYER_ID,
F1.FRIEND_ID,
CASE WHEN F2.FRIEND_ID IS NULL THEN 0 ELSE 1 END AS BACK
FROM FRIEND F1
LEFT OUTER JOIN FRIEND F2
ON F1.FRIEND_ID = F2.PLAYER_ID AND F1.PLAYER_ID = F2.FRIEND_ID