此语句返回 2 行:
SELECT ts.UnitId,ts.TeststepId, MAX(ts.CreatedAt)as CreatedAt
FROM Teststep ts
INNER JOIN Unit u ON ts.UnitId = u.UnitId
Where u.TemplateId = 2
Group by TeststepId, ts.UnitId
我怎样才能得到日期最高的一行CreatedAt
?我应该区分unitId
吗?
更新
亚伦和弗莱姆要求了解更多信息:
1 Template has N Units
1 Unit has N Teststeps
Teststep 表的聚集主键是 TeststepId 和 CreatedAt。
[TeststepId] [int] NOT NULL,
[Name] [nvarchar](50) NOT NULL,
[PreCondition] [nvarchar](500) NOT NULL,
[TestInstruction] [nvarchar](500) NOT NULL,
[ExpectedResult] [nvarchar](500) NOT NULL,
[CreatedAt] [datetime] NOT NULL,
[CreatedBy] [nvarchar](50) NOT NULL,
[UnitId] [int] NOT NULL,
测试步骤表
Teststep 表中具有最重要字段的示例数据可能是:
测试步骤显示历史测试步骤。从上图中您可以看到 TeststepId = 4 存在 2 次。历史版本(58 秒)和当前版本(59 秒)。
我只想在“当前”视图中显示 59 秒的 teststepid 4。
更新 2
我只想在 59 秒内获得 teststepid 4 并且所有其他 teststepId 都s with their current date. If there are only rows with different teststepid
采用这些,因为它们是当前行。
我正要更改我的集成测试并找到解决方案。