我有这样的表:

| user1 | user2 |
|   1   |   2   |
|   3   |   1   |
|   4   |   1   |
|   1   |   5   |
|  ...  |  ...  |


我想将此列合并为一,但在新合并的列中必须为数字,这不等于给定的数字。那就是如果我在上表中使用此查询并给出数字1:

SELECT CONCAT(user1, user2) AS user FROM table WHERE user1 = 1 or user2 = 1


我已经退货了:

| user |
|  12  |
|  31  |
|  41  |
|  15  |
|  ..  |


什么时候应该返回此:

| user  |
|   2   |
|   3   |
|   4   |
|   5   |
|  ...  |


1是一个示例。怎么做 ?

最佳答案

SELECT IF(user1 = 1, user2, user1) AS user
FROM table
WHERE user1 = 1 OR user2 = 1

关于mysql - 特定于SQL的合并2列,但其中之一除外,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/24502903/

10-13 07:55