示例模式在SQLFiddle和如下給出:選擇MYSQL列有條件
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條件列,但無法創建查詢來獲取所需的輸出。有人可以請求幫助所需的查詢。
編輯
基於this link,我運行下面的查詢,但失敗了。
SELECT IF(PLAYER1ID IS 1,PLAYER2ID as opponent,PLAYER1ID as opponent)
FROM players
WHERE PLAYER1ID = 1 OR PLAYER2ID = 1;
謝謝Yogendra。我試着去'SELECT CASE WHEN player1id = 1 THEN player2id WHEN player2id = 1 THEN player1id 結束,因爲對手 從球員 WHERE player1id = 1 OR player2id = 1'基礎上添加您的回覆欄的自定義名稱。完善。 –
@KapilSharma:感謝分享。很高興知道,它的工作。 –