每天使用另一个表中的值更新sql表

时间:2013-12-17 16:48:37

标签: sql .net

我需要一些帮助来更新我需要每天从一个主表中提取值的一些sql表。

我的主表包含每日更新的状态',说明和日期。我有3个其他表需要根据状态ID号从主表中提取值。例如,如果它是 Type1 ,那么它会获得该类型的红色,绿色,黄色和当前日期的数量,并且它需要每天执行此操作。

在做了一些研究后,我发现我需要实现这样的事情:

Update [TableA]
SET Date (select Date from [TableB] where [TableB].Date = [TableA].DateDiscovered and [TableB].Date IS NOT NULL) --not sure if this is write, this is just what I found online

以下是我将使用的两个表的一些示例:

主要表

enter image description here

辅助表

enter image description here

所以基本上我需要以下帮助:辅助表需要计算“状态”列中的绿色,红色,橙色和黄色,并将它们放在指定的列中。因此,如果有4个绿色,2个红色,1个黄色和2个橙色,它们将被放入辅助表中的相应列中。我每天都需要这样做,当它完成时,它会将当前日期记录在辅助表的日期列中。

1 个答案:

答案 0 :(得分:1)

听起来您希望INSERT每天Secondary Table新行到Status Main Table的所有Discovered值的摘要? Escalated中的Main TableINSERT INTO SecondaryTable SELECT CAST(GetDate() as Date), SUM(CASE WHEN Status = 'R' THEN 1 ELSE 0 END) as Red, SUM(CASE WHEN Status = 'O' THEN 1 ELSE 0 END) as Orange, SUM(CASE WHEN Status = 'Y' THEN 1 ELSE 0 END) as Yellow, SUM(CASE WHEN Status = 'G' THEN 1 ELSE 0 END) as Green FROM MainTable 是什么意思?

如果是这样,您需要:

{{1}}