Selecting MYSQL column conditionally

前端 未结 3 1955
天涯浪人
天涯浪人 2021-01-12 06:14

Example schema for my question is given at SQLFiddle and as follow:

CREATE TABLE `players` (
  `player1id` int(11) NOT NULL,
  `player2id` int(11) NOT NULL,
         


        
3条回答
  •  不要未来只要你来
    2021-01-12 06:52

    This ought to give you what you're looking for:

    SET @PlayerId = 1;
    SELECT `player2id` AS 'Other Player ID'
      FROM `players`
     WHERE `player1id` = @PlayerId
       AND `player2id` != @PlayerId
    
     UNION
     SELECT `player1id`
      FROM `players`
     WHERE `player2id` = @PlayerId
       AND `player1id` != @PlayerId;
    
    
    SET @PlayerId = 5;
    SELECT `player2id` AS 'Other Player ID'
      FROM `players`
     WHERE `player1id` = @PlayerId
       AND `player2id` != @PlayerId
    
     UNION
    SELECT `player1id`
      FROM `players`
     WHERE `player2id` = @PlayerId
       AND `player1id` != @PlayerId;
    

提交回复
热议问题