SQL拉出许多唯一ID和组合的前1位

时间:2017-01-12 22:03:34

标签: sql sql-server ssms

您好我正在尝试在SSMS中使用SQL查询组合2个SQL表。第一个只是从表中直接拉出4列,每个ID#1个条目。第二个是历史更改表,我需要第一次将项目更改为所有唯一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/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

我需要的是:

ID      Create      Resolve     Effort  First time set to Working
1234    1/10/2017   1/10/2017   5       13:01
1235    1/11/2017   1/11/2017   8       4:05
1236    1/12/2017   1/12/2017   25      8:07
1278    1/13/2017   1/13/2017   34      11:45
1347    1/14/2017   1/14/2017   76      5:45

1 个答案:

答案 0 :(得分:1)

这样做的一种非常简单的方法是:

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"的列,因为它是一个保留字。