mysql - 如何将同一个表中的两列连接成单列

标签 mysql sql join inner-join

例如,我正在尝试将具有相同类型的两列的结果放入单列中

table 
id      secId
1         2
3         1
5         1
1         4

我想像 id 或 secId = 1 那样检索它们

id
2
3
4
5

我试过内部连接,但它给了我 2 列数据冗余

最佳答案

你不需要任何Join,这个简单的查询就可以了

select if(id=1, secId, id)
  from yourTable
  where id = 1 or secId = 1;

您选择所有 idsecId 等于 1 的数据,然后,取决于两者中哪个等于 1 你显示 secIdid

假设这里两个值中只有一个可以是1

如果有可能有两个值,那么您可以使用 @AndreasWederbrand 描述的联合语法。

关于mysql - 如何将同一个表中的两列连接成单列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28286437/

相关文章:

mysql - 提高多主表的查询性能

sql - 联合所有具有不同列数的查询

sql - 频繁记录小事情的高效数据库设计

mysql - 选择分组的行,即使它们不在另一个表中

mysql - 从具有外键的亲戚中选择?

java - 是否需要安装mysql才能在另一台计算机本地保存和检索sql数据?

mysql - MySQL存储过程去掉撇号的难点

mysql - SQL 递归 desc select

python - 列出连接期间丢失的内容的表(SQL 或 Pandas)?

mysql - 在相关表上选择 SQL 语句