选择具有相反值的列

时间:2016-08-24 03:46:24

标签: mysql

我有两列column_a(INT)column_b(INT)。我想做一个select查询,它给出了列中不包含我给出的值的值。 例如:

column_a| column_b
   5    |    10

如果我去SELECT (something over here) FROM TABLE WHERE column_a = 10 OR column_b = 10; 结果应该推出 5 column_a中的值。

这甚至可能吗?

注意: 10 的值可以在任一列中。因此,如果column_a中的 10 column_b中的 5 ,则上述查询仍然应该 5 但它将从column_b而不是column_a

中检索

注2:两列永远不会包含相同的值。

1 个答案:

答案 0 :(得分:1)

在您的设计示例中,您可以使用CASE语句尝试从两列中选择不匹配的值:

SELECT CASE WHEN column_a = 10 THEN column_b ELSE column_a END
FROM yourTable
WHERE column_a = 10 OR column_b = 10    -- this might be optional