MYSQL - 如果任一列包含x,则从两列返回不同的其他值

时间:2017-08-09 18:56:59

标签: mysql

我在MySQL中有一个包含以下数据的表

C1 C2 //columns 1 & 2
XX AA
XX AB
AD XX
XX AC
XX AA
AA XX
AC XX

我正在寻找一个返回以下结果的查询字符串(不必订购)

AA
AB
AC
AD

其他'其他'的独特(唯一)列表当表中的任何一列包含XX

时,列值出现在任一列中

这可能吗?

2 个答案:

答案 0 :(得分:1)

SELECT DISTINCT * 
FROM (SELECT C2 
      FROM table1 WHERE C1='XX' 

      UNION 

      SELECT C1 
      FROM table1 WHERE C2='XX') t;

答案 1 :(得分:1)

您可以使用以下查询:

SELECT DISTINCT IF(C1 <> 'XX', C1, C2)
FROM mytable
WHERE 'XX' IN (C1, C2);

Demo here