【发布时间】:2012-11-15 23:11:07
【问题描述】:
有一个有 2 列的表:
x y
1 1
1 2
1 3
2 2
2 3
2 4
3 1
3 2
3 5
如果我需要找到所有 X,其中 Y = 5。我使用查询
SELECT * FROM table WHERE y = 5
但是,我需要找到所有 X,其中 Y = 2 AND Y = 3。
如何在 1 个查询中执行此操作?
结果我必须得到 X = 1 和 2(不是 3!)。 Y 可能很多
If i use SELECT * FROM table WHERE y IN (1, 2)
我会得到 x = 1, 2, 3,但我不需要 Y = 3 因为在表格中没有行 x=3, y=3
【问题讨论】:
-
现在试试我的答案,因为如果你再添加一个 X=3 和 Y = 3 的 eow,@KuyaJohn 的答案会给出错误的结果
-
@SaharshShah 我的回答有什么问题?看到这个。 sqlfiddle.com/#!2/75e8b/1
-
对不起@KuyaJohn 我明白了你的逻辑,你的答案是完美的。我理解错了