我有一个表格 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/