mysql - 特定合并sql中的2列,不包括其中一列

标签 mysql sql merge

我有这样的表:

| 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/24481109/

相关文章:

php - 需要使用 PHP 将 MySQL 数据 block 转换为超链接

python - 如果值已经在表中,如何将值插入表或更新它

php - 如何让mysql生成的帖子独立出来

r - 通过R中的特定行名将行数据转换为列

Git merge 驱动程序 - 如何查找 merge 文件的完整路径?

mysql - 在 SQL 中如何合并两个表而不丢失任何行?

php - Laravel 加载子类别时查询结果翻倍

php - Where 子句在 tinyint 上不起作用

php - 进行动态投票

sql - 将多个存储过程合并到一个脚本中