mysql - 基于MySQL中同一个表中具有相同id的另一行选择行

标签 mysql sql

我有一个表格 View T,例如:

id | C1   | C2  |
---+------+-----+
1  | pat  | 190 |
1  | pat1 | 191 |
1  | A5   | 302 |
2  | pet  | 190 |
2  | pet1 | 191 |
2  | A5   | 302 |
3  | pit  | 190 |
3  | pit1 | 191 |
3  | A6   | 302 |

想要得到:

id | C1   | C2  |
---+------+-----+
1  | pat  | 190 |
2  | pet  | 190 |

换句话说,返回 id,其中 C2 = 190,表中其他位置的相同 id 为 A5。

已经尝试了几种 LEFT JOIN 方法,但没有取得任何进展。请帮忙。谢谢。

最佳答案

您需要存在:

select t.*
from tablename t
where c2 = 190
and exists (
  select 1 from tablename where id = t.id and c1 = 'A5'
)

请参阅demo .
结果:

| id  | C1  | C2  |
| --- | --- | --- |
| 1   | pat | 190 |
| 2   | pet | 190 |

关于mysql - 基于MySQL中同一个表中具有相同id的另一行选择行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56340956/

相关文章:

mysql - 查询以选择日期在特定时间段内的行

sql - 多案例陈述在 Postgres 中没有按预期工作

mysql - 如何在activiti中配置一个mysql数据库?

mysql - 从只有 1 列的表中删除重复行?

sql - 为什么别名放在postgresql中的 'AS'中的 'WITH subquery'关键字前面

sql - 一张表中有多个唯一键

MySql 选择动态行值作为列名

sql - 如何修复 "Snapshot isolation transaction aborted due to update conflict"?

php - fopen php mysql import - sql 中的空行

php - 当 php 代码没有达到 release-mysql-lock 阶段时会发生什么?