SQL拉取许多唯一ID中的前1个并组合
您好,我正在尝试在SSMS中使用SQL查询组合两个SQL表。第一种方法是直接从一个表中抽取4列,每个ID#有一个条目。第二个是历史更改表,其中我需要第一次将项目更改为所有唯一ID的特定状态。SQL拉取许多唯一ID中的前1个并组合,sql,sql-server,ssms,Sql,Sql Server,Ssms,您好,我正在尝试在SSMS中使用SQL查询组合两个SQL表。第一种方法是直接从一个表中抽取4列,每个ID#有一个条目。第二个是历史更改表,其中我需要第一次将项目更改为所有唯一ID的特定状态。 感谢所有受访者 我所拥有的: CurrentView ID Create Resolve Effort 1234 1/10/2017 1/10/2017 5 1235 1/11/2017 1/11/2017 8 1236 1/12/2017 1/
感谢所有受访者 我所拥有的:
CurrentView
ID Create Resolve Effort
1234 1/10/2017 1/10/2017 5
1235 1/11/2017 1/11/2017 8
1236 1/12/2017 1/12/2017 25
1278 1/13/2017 1/13/2017 34
1347 1/14/2017 1/14/2017 76
HistoryView
ID Status Timestamp
1234 prep 12:01
1234 working 13:01
1234 working 14:01
1235 prep 3:05
1235 working 4:05
1235 working 5:05
我需要的是:
一种非常简单的方法是:
SELECT
c.*,
(SELECT MIN([timestamp]) FROM HistoryView h
WHERE h.id = c.id and h.status = 'working') as "First time"
FROM
CurrentView
WHERE ...
PS.未经测试。“timestamp”列是一个保留字,您可能会遇到问题。能否请您进一步说明您的问题?您想如何组合这些?已删除DBMS特定的标记。请重新添加您实际使用的DBMS。ssms标记added@SeanAwesome。这起作用了!谢谢我用箭头标出了答案,但上面说,既然我是个傻瓜,就不会显示出来。当有人回答问题时还需要做什么?嗨,戴夫,我猜他回答得很快,有15分钟的宽限期,其他人也可以回答。再次检查,您应该能够选择mustaccio的答案。请看啊。它让我有了绿色支票,但我不能投票,因为缺乏声誉。谢谢你的链接@Russell
SELECT
c.*,
(SELECT MIN([timestamp]) FROM HistoryView h
WHERE h.id = c.id and h.status = 'working') as "First time"
FROM
CurrentView
WHERE ...