私の質問のスキーマの例は、SQLFiddleで次のように示されています。
CREATE TABLE `players` (
`player1id` int(11) NOT NULL,
`player2id` int(11) NOT NULL,
PRIMARY KEY (`player1id`,`player2id`)
) ENGINE=InnoDB;
INSERT INTO `players` values
(1,5),
(1,7),
(5,3),
(5,4),
(2,1);
オンライン ゲームで、プレイヤーplayer1id
またはplayer2id
.
例 入力/出力が必要
Input 1: Output 5, 7, 2
Input 5: Output 1, 3 ,4
& so on.
つまり、必要なデータは任意の列にある可能性がありますが、条件付きまたはその他の方法で単一の列に出力する必要があります。MySQL 条件付き列について聞いたことがありますが、必要な出力を取得するためのクエリを作成できませんでした。誰かが必要なクエリを手伝ってくれませんか。
編集
このリンクに基づいて、次のクエリを実行しましたが失敗しました。
SELECT IF(PLAYER1ID IS 1,PLAYER2ID as opponent,PLAYER1ID as opponent)
FROM players
WHERE PLAYER1ID = 1 OR PLAYER2ID = 1;