从不同视图

时间:2017-03-29 13:26:27

标签: sql-server stored-procedures insert sql-update

我创建了一个表,它将组合来自多个视图的数据。所以我需要创建一个存储过程,它将从视图中检索并更新表。存储过程应该能够确定记录是否存在,并且如果记录不存在则向表中添加新行,或者如果存在这样的记录则更新记录。

请协助。

让我们将目标表用作表A和视图1,视图2和视图3。

表1

Project_Num(PK)|Region |Area
10001          |Gauteng|Johannesburg

查看1

ID|Project_Num|Region |Project_Start_Date|Project_End_Date
1 |1001       |Gauteng|2013-07-19        |2014-09-21
2 |1001       |Gauteng|2013-07-27        |2014-10-23

在视图中,我有多个项目编号,但开始日期和结束日期不同。因此,我需要对所有项目编号进行分组,并选择1001项目编号的最小开始日期和最大结束日期。我跑了这句话:

select 
    Project_Num, region, 
    min(start_date) as Start_Date, 
    max(End_Date) as End Date 
from
    TableA
where
    Project_Num = 1001

结果是:

Project_Num|Region |Start_Date|End_Date
1001       |Gauteng|2013-07-19|2014-10-23

它有效。但是我不想创建列,因为我已经有一个包含需要填充的列的表。请帮助存储过程或插入/更新语句,我将从中创建一个存储过程。非常感谢您的帮助

由于

0 个答案:

没有答案