示例模式在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:感谢分享。很高兴知道,它的工作。 –