SQL:Link 2 个数据源(按日期)
SQL: Link 2 data sources by Date
此页面的新手。我需要有关在 Microsoft SQL 中处理数据 link 的帮助。我有两个数据 table 都是相当大的数据集,我需要以某种方式 link。我的第一个数据集显示了组的开始和结束 date/time 并且具有唯一 ID。第二组确实有一个唯一的 ID,但它不能 link 用于第一组。我可以 link 的唯一字段是日期/时间和组。我试图让第二个 table 显示第一个 table 的 ID,以便我可以加入数据集。它是 1 次更新,不需要刷新。
我需要link基于以下:
如果ds2.Time在ds1.Start_Time和ds1.End之间,那么ds1.ID
ds=数据源
数据源 1
ID Start Date End Date Start Time End Time Group
1 12/01/2010 12/01/2010 12:45 13:10 A
2 12/01/2010 12/01/2010 12:00 14:55 B
3 12/01/2010 12/01/2010 12:55 13:45 C
4 12/01/2010 12/01/2010 13:55 14:25 A
5 12/01/2010 12/01/2010 15:02 15:55 B
数据源 2
Date Time Group Total ID
12/01/2010 12:45 A 13 ?
12/01/2010 12:46 A 15 ?
12/01/2010 12:47 A 8 ?
12/01/2010 12:48 B 10 ?
12/01/2010 13:55 B 8 ?
12/01/2010 13:57 B 9 ?
12/01/2010 13:58 B 10 ?
12/01/2010 13:59 B 12 ?
12/01/2010 14:01 B 14 ?
正如我已经 posted 我会 post 如果无法在页面上找到最终答案以帮助其他人结束。
您可以 JOIN Table1 and Table2 tables and use UPDATE 在 Table2 table 上。
UPDATE Table2
SET Id = (
SELECT Id
FROM Table1 t1
JOIN Table2 t2
ON (t1.Group = t2.Group) AND
(t1.StartDate = t2.Date) AND
(t1.StartTime = t2.Time)
)
或者像这样:
UPDATE Table2 t2
JOIN Table1 t1
ON (t1.Group = t2.Group) AND
(t1.StartDate = t2.Date)
SET t2.Id = t1.Id
WHERE t2.time BETWEEN t1.StartTime AND t1.EndTime
此页面的新手。我需要有关在 Microsoft SQL 中处理数据 link 的帮助。我有两个数据 table 都是相当大的数据集,我需要以某种方式 link。我的第一个数据集显示了组的开始和结束 date/time 并且具有唯一 ID。第二组确实有一个唯一的 ID,但它不能 link 用于第一组。我可以 link 的唯一字段是日期/时间和组。我试图让第二个 table 显示第一个 table 的 ID,以便我可以加入数据集。它是 1 次更新,不需要刷新。
我需要link基于以下:
如果ds2.Time在ds1.Start_Time和ds1.End之间,那么ds1.ID
ds=数据源
数据源 1
ID Start Date End Date Start Time End Time Group
1 12/01/2010 12/01/2010 12:45 13:10 A
2 12/01/2010 12/01/2010 12:00 14:55 B
3 12/01/2010 12/01/2010 12:55 13:45 C
4 12/01/2010 12/01/2010 13:55 14:25 A
5 12/01/2010 12/01/2010 15:02 15:55 B
数据源 2
Date Time Group Total ID
12/01/2010 12:45 A 13 ?
12/01/2010 12:46 A 15 ?
12/01/2010 12:47 A 8 ?
12/01/2010 12:48 B 10 ?
12/01/2010 13:55 B 8 ?
12/01/2010 13:57 B 9 ?
12/01/2010 13:58 B 10 ?
12/01/2010 13:59 B 12 ?
12/01/2010 14:01 B 14 ?
正如我已经 posted 我会 post 如果无法在页面上找到最终答案以帮助其他人结束。
您可以 JOIN Table1 and Table2 tables and use UPDATE 在 Table2 table 上。
UPDATE Table2
SET Id = (
SELECT Id
FROM Table1 t1
JOIN Table2 t2
ON (t1.Group = t2.Group) AND
(t1.StartDate = t2.Date) AND
(t1.StartTime = t2.Time)
)
或者像这样:
UPDATE Table2 t2
JOIN Table1 t1
ON (t1.Group = t2.Group) AND
(t1.StartDate = t2.Date)
SET t2.Id = t1.Id
WHERE t2.time BETWEEN t1.StartTime AND t1.EndTime