我有一个sql表,其中有个条目
+-----------------+------+
| idanother_table | Col1 |
+-----------------+------+
| 11 | 50 |
| 11 | 61 |
| 11 | 62 |
| 12 | 61 |
| 12 | 62 |
| 13 | 50 |
| 13 | 65 |
+-----------------+------+
我想要一个能给出这个结果的查询
+-----------------+------+
| idanother_table | Col1 |
+-----------------+------+
| 11 | 50 |
| 11 | 61 |
| 11 | 62 |
| 13 | 50 |
| 13 | 65 |
+-----------------+------+
所以把所有与 id_anothertable and col1 = 50
.
所以当一个id的col1=50时,我们取与该id相关的所有行
也许这个问题是另一个问题的重复,但我真的不知道如何命名我的问题,所以我有任何研究的基础
5条答案
按热度按时间ahy6op9u1#
你可以用
exists
```SELECT t1.* FROM t t1
WHERE exists
(
SELECT 1
FROM t2
where t1.idanother_table =t2.idanother_table and t2.Col1 = 50
)
pjngdqdw2#
你可以试着用
IN
```SELECT * FROM t
WHERE idanother_table IN
(
SELECT idanother_table
FROM t
where Col1 = 50
)
ibps3vxo3#
pdkcd3nj4#
我会用
exists
用于检查col1 = 50
:vcudknz35#
您可以对col1=50重新调整另一个表的子查询使用联接