如何从以下场景自我加入表?

时间:2012-11-16 06:07:23

标签: mysql sql join

考虑我有一个名为table1的表,其中包含以下数据:

id, value
1, a
1, b
1, c
1, d
2, a
2, b
2, c
3, b
3, c
4, a
4, b
4, c
4, d

我想选择值= d的所有ID。我怎么能做到这一点?

这意味着我需要得到( 1和4 )的结果,因为id 2和3不包含d。

实际表包含超过10,000,000行,因此查询不应太慢。

感谢您的想法。

4 个答案:

答案 0 :(得分:2)

这应该是非常直截了当的。 (不需要加入

SELECT *
FROM   TableName
WHERE  value = 'd'

答案 1 :(得分:2)

您根本不需要加入:

SELECT id
FROM myTable
WHERE value = 'd'

答案 2 :(得分:1)

试试这个

select id
from Table1
where value= 'd'

答案 3 :(得分:0)

请尝试此查询,它会帮助您

select * from table1 t, table1 t1 
where t.value = t1.value and t1.value='d'