在SQL Server中查找具有相同Id的多个记录

时间:2013-10-31 09:32:28

标签: 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     30
11  5     5      20
12  5     5      5

我想得到'Id'列有两个记录,其中包含一些值,如(First Record)Value1 = 5,Value2 = 20和(Second Record)Value1 = 25,Value2 = 30.

在上表中我的预期结果是

PIds    Id  Value1  Value2
3       2     5      20
9       2     25     30
10      5     25     30
11      5     5      20 

先谢谢。

2 个答案:

答案 0 :(得分:0)

请尝试:

select * from YourTable
where 
    (Value1=5 and Value2=20) OR 
    (Value1 =25 and Value2 = 30)

答案 1 :(得分:0)

所有其他查询显示1,2和5 Ids

我找到了我的问题的查询

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)