在SQL server中查找具有相同Id的多个记录
在SQL server中查找具有相同Id的多个记录 我的表中有以下值在SQL server中查找具有相同Id的多个记录,sql,sql-server,Sql,Sql Server,在SQL server中查找具有相同Id的多个记录 我的表中有以下值 PK Id Value1 Value2 1 1 5 10 2 1 10 10 3 2 5 20 4 3 20 25 5 3 5 5 6 4 10 10 7 1 5 20 8 4 5 10 9 2 25 30 10 5 25
PK Id Value1 Value2
1 1 5 10
2 1 10 10
3 2 5 20
4 3 20 25
5 3 5 5
6 4 10 10
7 1 5 20
8 4 5 10
9 2 25 30
10 5 25 30
11 5 5 20
12 5 5 5
我想得到“Id”列,它有两条记录,其中一些值是(第一条记录)Value1=5,Value2=20和(第二条记录)Value1=25,Value2=30
在上表中,我的预期结果是
PIds Id Value1 Value2
3 2 5 20
9 2 25 30
10 5 25 30
11 5 5 20
提前谢谢 请尝试:
select * from YourTable
where
(Value1=5 and Value2=20) OR
(Value1 =25 and Value2 = 30)
所有其他查询显示1、2和5个ID 我找到了这个问题的答案
select T1.Id,* from TestData T1 inner join TestData T2
on T1.Id = T2.Id
where
(T2.Value1=5 and T2.Value2=20) and
(T1.Value1=25 and T1.Value2 = 30)
这是正确的答案,但在我的情况下,记录可以是1,2或3。我无法理解你。请解释。我已经添加了我想要的结果集。您的查询将显示1条Id记录,因为条件或此表中的o/p应该是什么?请解释您试图执行的操作。这里的一般情况是什么?为什么@techdo的答案不适合你。