sql选择查询

时间:2011-09-06 01:45:15

标签: sql sql-server

我的表格格式如下

ID   Revision     DocType
1     R1            1
2     R2            1
3     R2            2
4     R3            1

其中可以复制版本,但每个版本的DocType是唯一的。如何通过提供Revision作为参数来编写SQL查询以选择单个记录?

2 个答案:

答案 0 :(得分:1)

由于修订版可以重复,因此通过传入修订版作为参数来获取单独记录的唯一方法是:

SELECT TOP 1 ID,Revision,DocType 
from Revision 
where Revision=@RevisionPassedIn

如果您也可以提供DocType,那么您可以唯一地选择您要查找的记录:

SELECT ID,Revision,DocType 
from Revision 
where Revision=@RevisonPasseIn AND Doctype=@DocTypePassedIn

答案 1 :(得分:0)

您刚刚描述了为什么无法实现您想要的效果 - 可能存在多个具有相同Revision值的行。

如果您对使用该值获取第一行行感到满意,可以执行以下操作:

SELECT TOP 1 *
FROM Table
WHERE Revision = @Revision
ORDER BY DocType -- or whatever criteria you want