次のような「関係」マトリックスがあります。
+---------+------------+------------+------------+ ------------+------------+ | | 名前 | アルバート | アルバート | ボブ | チャールズ | デール | デール | イーサン | +---------+------------+------------+------------+ ------------+------------+ | | アルバート | アルバート | | | 0 | 1 | 1 | -1 | | | ボブ | | | | | 1 | -1 | 1 | | | チャールズ | | | | | | | 0 | 1 | | | デール | デール | | | | | | | | | 0 | | | イーサン | | | | | | | | | | | +---------+------------+------------+------------+ ------------+------------+ 0 はお互いを知らないことを意味します 1は彼らがお互いを好きであることを意味します -1 はお互いが好きではないことを意味します
ここで、2 つの名前を入力して、相互に知られている人の数を取得し、「好き」を合計してその関係を「推測」します (1 つの SELECT が望ましい)。
たとえば、チャールズとデールのペアを見てみましょう。
チャールズは、デールも知っているアルバートとボブを知っています。
チャールズはアルバート(+1)が好きでデール(+1)が好きで、チャールズはボブ(+1)が好きだがボブはデールが好きではない(-1)ので、チャールズとデールの関係はおそらく友好的でしょう。したがって、出力は 2 人の相互に知られている人物と +3 の「推測」になります。
機能的な副選択クエリについて理解できません。さらに、マトリックスが半分しか満たされていないという事実により、複雑になっているようです (名前が最初のインデックスである場合もあれば、2 番目のインデックスである場合もあります)。
誰かが役に立つクエリを作成するのを手伝ってくれませんか?