我的表格格式如下
ID Revision DocType
1 R1 1
2 R2 1
3 R2 2
4 R3 1
其中可以复制版本,但每个版本的DocType是唯一的。如何通过提供Revision作为参数来编写SQL查询以选择单个记录?
答案 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